1. 程式人生 > 實用技巧 >資料準備3 資料統計

資料準備3 資料統計

資料準備3 資料統計

 

import numpy as np

# 算數運算

# 建立等差陣列
# np.arange() 初始值、終值、步長 預設不包括終值
x1 = np.arange(1, 11, 2)
# np.linspace() 初始值、終止、元素個數 預設包括終值
x2 = np.linspace(1, 9, 5)
  1. 加減乘除
print(np.add(x1, x2))
print(np.subtract(x1, x2))
print(np.multiply(x1, x2))
print(np.divide(x1, x2))

[ 2.  6. 10. 14. 18.]
[0. 0. 0. 0. 0.]
[ 1.  9. 25. 49. 81.]
[1. 1. 1. 1. 1.]

2.x1各項的x2次方

print(np.power(x1, x2))

[1.00000000e+00 2.70000000e+01 3.12500000e+03 8.23543000e+05
 3.87420489e+08]

3.取餘

print(np.mod(x1, x2))
print(np.remainder(x1, x2))

[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]

4.以不用軸取最大值與最小值

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.amin(a))
print(np.amin(a, 0))  # 以axis=0軸進行計算,將矩陣一列一列劃分
print(np.amin(a, 1))  # 以axis=1軸進行算,將矩陣以一行一行劃分
print(np.amax(a))
print(np.amax(a, 0))
print(np.amax(a, 1))
print("-------------------")

1
[1 2 3]
[1 4 7]
9
[7 8 9]
[3 6 9]

5.最大值與最小值之差ptp()

print(np.ptp(a))
print(np.ptp(a, axis=0))
print(np.ptp(a, axis=1))
print("-------------------")

8
[6 6 6]
[2 2 2]

6.平均數mean和中位數median

print(np.mean(a))
print(np.mean(a, axis=0))
print(np.mean(a, axis=1))
print()
print(np.median(a))
print(np.median(a, axis=0))
print(np.median(a, axis=1))
print("-------------------")

5.0
[4. 5. 6.]
[2. 5. 8.]

5.0
[4. 5. 6.]
[2. 5. 8.]

7.百分位數(percentile),範圍為0~100 0為最小值,50為平均值,100為最大值

print(np.percentile(a, 50))
print(np.percentile(a, 50, axis=0))
print(np.percentile(a, 50, axis=1))
print("-------------------")

5.0
[4. 5. 6.]
[2. 5. 8.]

8.加權平均數 單引數時預設權重相同,即,除以元素個數

b = np.array([1, 2, 3, 4])
c = np.array([1, 2, 3, 4])
print(np.average(b))
print(np.average(b, weights=c))
print("-------------------")

2.5
3.0

9.標準差std(),方差var()

print(np.std(b))
print(np.var(b))
print("-------------------")

1.118033988749895
1.25

10.排序

d = np.array([[4, 3, 2], [2, 4, 1]])
# python的排序只用一句就可以實現,sort有四個引數,分別是a、axis、kind、order
# 預設為快排,共有quicksort、mergesort、heapsort
# axis 預設是 -1,即沿著陣列的最後一個軸進行排序,在下面也就是axis=1
print(np.sort(d))
print(np.sort(d, axis=None))  # 扁平化
print(np.sort(d, axis=0))  # 一列一列
print(np.sort(d, axis=1))  # 一行一行,在這裡即陣列的最後一個軸

[[2 3 4]
 [1 2 4]]
[1 2 2 3 4 4]
[[2 3 1]
 [4 4 2]]
[[2 3 4]
 [1 2 4]]