携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天,点击查看活动详情
也是暑假自学python的第29天
今天继续对np数组进行学习:
学习np数组
Numpy的科学计算
1.求数组中的平均值:
result = np.mean(score) # 获取所有数据的平均值
print(result)
result = np.mean(score,axis=0) # 获取某一行或者某一列的平均值
print(result)
使用mean方法来求平均值,输出的结果为:
可以看出计算会有小数。
2.求最小值的索引
使用argmin方法来进行计算
result = np.argmin(score,axis=0)
res=np.min(score,axis=0) #这样我们就可以知道最小的81是第二排的,是从前往后遍历的
print(result,res)
输出结果为:
3.求方差,标准差:
使用np中的var与std方法
result=np.var(score,axis=0)
print(result)
result=np.std(score,axis=0)
print(result)
输出的结果为:
4.求极值:
使用np.ptp方法:
# 10. 极 值
result = np.ptp(score,axis=1)#就是最大值和最小值的差
print(result)
输出的结果如下:
5.两个数组进行拼接
对于两个数组进行拼接,我们使用concatenate方法来对两个数组进行拼接:
# 1. 根据轴连接的数组序列
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
# print ('沿轴 0 连接两个数组:')
print(np.concatenate((a,b),axis=0))
print ('\n')
print ('沿轴 1 连接两个数组:')
print(np.concatenate((a,b),axis=1))
对于拼接可以指定按照0轴或者1轴来进行拼接,拼接的结果如下:
6.数组进行切割
使用split方法来对数组进行切割:
arr = np.arange(9).reshape(3,3)
print ('将数组分为三个大小相等的子数组:')
b=np.split(arr,3,axis=1)
print(b)
输出的结果如下:
7.数组中的空值nan
np.nan表示数组中的空值:
import numpy as np
a = np.nan
b = np.inf
print(a,type(a))
print(b,type(b))
t = np.arange(24,dtype=np.float32).reshape(4,6)
print(t)
t[3,4]=np.nan
print(t)
可以看到上述代码将数组中3行4列的值改成了nan值(none)
dtype=np.float32
最为关键的代码,如果不写这句话那么这样修改数组值就会报错,因为nan数据类型为float,而数组内的值为int,默认,我们需要自己设置数据类型来进行nan转化。
输出结果如下:
8.使用np.count_nonzero方法来判断nan的个数:
# 使用这两个结合使用判断nan的个数
print(np.count_nonzero(t != t))
# 将nan替换为0
t[np.isnan(t)]=0