Python、MATLAB工科联盟

Python NumPy学习笔记之数据处理

2019-07-27  本文已影响7人  仇念尧

废话不多说,直接开干。

1. NumPy文件读写方法

1.1 保存文件

1.1.1 保存一个数组

# 二进制数据存储
# 保存一个数组
a = np.arange(10).reshape(2, 5)
b = np.arange(6).reshape(3, 2)
np.save("E://data analysis by python//a", a)

1.1.2 保存多个数组

# 保存多个数组
np.savez("E://data analysis by python//a_b", a, b)
print(a, '\n', b)

1.1.3 保存数组至文本文件中

# 保存数组至文本文件中
# fmt="%f"表示保存为浮点型,delimiter=","表示数据间分隔符为","
np.savetxt("E:/data analysis by python/a.txt", a, fmt="%f", delimiter=",")

1.2 读取文件

1.2.1 读取单个文件

# 二进制文件读取
# 读取单个文件
c = np.load("E://data analysis by python//a.npy")

1.2.2 读取多个文件

# 读取多个文件
d = np.load("E://data analysis by python//a_b.npz")
print(c, '\n', d['arr_0'], '\n', d['arr_1'])

1.2.3 读取文本文件

# 读取文本文件
a = np.loadtxt("E:/data analysis by python/a.txt", delimiter=",")
b = np.genfromtxt("E:/data analysis by python/a.txt", delimiter=",")
print(a, b)

2. 数据排序

2.1 sort函数排序

其中,请注意:

  1. seed为随机数种子,随机数种子固定,随机数不变;
  2. 请注意d,e,f返回值为None,因为sort排序是直接对数组操作;
  3. sort排序后,a,b,c不可逆,变成排序后的数组,d,e,f为中间变量。
# 数据排序
# seed为随机数种子,随机数种子固定,随机数不变
a = np.random.seed(10)
b = np.random.randint(1, 10, size=10)
c = np.random.randint(1, 10, size=(3, 3))
print(a, b, c)
# 直接排序
d = b.sort()
# 沿着横轴对每一行进行排序
e = c.sort(axis=1)
# 沿着纵轴对每一列进行排序
f = c.sort(axis=0)
print(a, b, c)
print(d, e, f)

2.2 argsort函数排序

# argsort函数排序,返回重新排序值下标
g = b.argsort()

3. # 数据去重与重复

3.1 数据去重

# 数据去重,b、c能达到相同结果
a = np.array(['赵', '钱', '孙', '李', '周', '赵', '钱'])
b = np.unique(a)
c = set(a)
print(a, b, c)

3.2 数组重复

# 重复数组两次
a = np.arange(5)
b = np.tile(a, 2)
# 重复数组元素两次
a = np.array([[1, 2, 3], [2, 1, 3], [1, 4, 3]])
# 按行进行元素重复
b = a.repeat(2, axis=0)
# 按列进行元素重复
c = a.repeat(2, axis=1)
print(a, b, c)

4. 常用函数

4.1 求和函数

a = np.array([[1, 2, 3], [2, 1, 3], [1, 4, 3]])
# 数组元素求和
b = np.sum(a)
# 沿横轴求和
c = a.sum(axis=1)
# 沿纵轴求和
d = a.sum(axis=0)
# 求元素累计和
m = np.cumsum(a)
# 求元素累计积
n = np.cumprod(a)

4.2 求均值函数

# 数组元素求均值
e = np.mean(a)
# 沿横轴求均值
f = a.mean(axis=1)
# 沿纵轴求均值
g = a.mean(axis=0)

4.3 求标准差、方差函数

# 求数组标准差
h = np.std(a)
# 求数组方差
i = np.var(a)

4.4 求最大、最小值函数

# 求数组最大值
j = np.max(a)
# 求数组最小值
k = np.min(a)
print(a,b,c,d,'\n')
print(e,f,g,'\n',h,j,k,m,n)
上一篇下一篇

猜你喜欢

热点阅读