【Python】数据分析.numpy.数组中常用的统计函数及numpy.nan/inf

网友投稿 880 2022-10-01

【Python】数据分析.numpy.数组中常用的统计函数及numpy.nan/inf

【Python】数据分析.numpy.数组中常用的统计函数及numpy.nan/inf

文章目录

​​numpy.数组中常用的统计函数及numpy.nan/inf​​

​​一、Python --- 数据分析-numpy.数组中常用的统计函数​​

​​1.1 求和函数:sum​​​​1.2 求均值函数:mean​​​​1.3 求中值(中位数)函数:median​​​​1.4 求最大值函数:max​​​​1.5 求最小值函数:min​​​​1.6 求极值函数:ptp​​​​1.7 求标准差函数:std​​

​​二、Python --- 数据分析-numpy.nan/inf​​

​​2.1 关于Nan​​​​2.2 关于Inf​​

numpy.数组中常用的统计函数及numpy.nan/inf

一、Python — 数据分析-numpy.数组中常用的统计函数

假设有一个二维数组t

t = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]

axis属性:指定统计的轴方向​​​axis=0 行之间的计算​​​​axis=1 列之间的计算​​

1.1 求和函数:sum

t = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]print(t.sum(axis=0))# [36 40 44 48 52 56]print(t.sum(axis=1))# [ 15 51 87 123]

​​返回顶部​​

1.2 求均值函数:mean

t = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]print(t.mean(axis=0))# [ 9. 10. 11. 12. 13. 14.]print(t.mean(axis=1))# [ 2.5 8.5 14.5 20.5]

​​返回顶部​​

1.3 求中值(中位数)函数:median

t = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]print(np.median(t,axis=0))# [ 9. 10. 11. 12. 13. 14.]print(np.median(t,axis=1))# [ 2.5 8.5 14.5 20.5]

​​返回顶部​​

1.4 求最大值函数:max

t = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]print(t.max(axis=0))#[18 19 20 21 22 23]print(t.max(axis=1))#[ 5 11 17 23]

​​返回顶部​​

1.5 求最小值函数:min

t = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]print(t.min(axis=0))#[0 1 2 3 4 5]print(t.min(axis=1))#[ 0 6 12 18]

​​返回顶部​​

1.6 求极值函数:ptp

t = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]print(np.ptp(t,axis=0))# [18 18 18 18 18 18]print(np.ptp(t,axis=1))# [5 5 5 5]

​​返回顶部​​

1.7 求标准差函数:std

标准差表示一组数据平均分散程度的度量,反映出数据的波动稳定情况,值越大表示越不稳定。

公式:

t = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]print(t.std(axis=0))#[6.70820393 6.70820393 6.70820393 6.70820393 6.70820393 6.70820393]print(t.std(axis=1))#[1.70782513 1.70782513 1.70782513 1.70782513]

​​返回顶部​​

二、Python — 数据分析-numpy.nan/inf

2.1 关于Nan

​​nan:​​not an number 表示不是一个数字

当我们读取本地文件为float的时候,如果有缺失,就会出现nan 当作了一个不合适的计算的时候,也会出现nan

umpy中的nan注意点:

1.两个nan是不相等的2.​​np.nan!=np.nan​​3.判断数组中nan的个数 — np.count_nonzero()4.nan和任何值计算结果都是nan

判断数组中nan的个数

import numpy as np#创建数组t = np.arange(12).reshape((3,4)).astype("float")t[2,2:] = np.nanprint(t)# [[ 0. 1. 2. 3.]# [ 4. 5. 6. 7.]# [ 8. 9. nan nan]]print(np.count_nonzero(t)) #不为零的元素的个数# 11print(t!=t) #判断哪些是nan(bool型为true的就是nan) # [[False False False False]# [False False False False]# [False False True True]]print(np.count_nonzero(t!=t))# true=1;false=0# 2

其中 ​​print(t!=t)​​相当于​​print(np.isnan(t))​​!!!

​​返回顶部​​

2.2 关于Inf

​​inf:​​ infinity 表示正无穷​​​-inf:​​ 表示负无穷

当一个数除以0(Python中直接报错,numpy中是inf或-inf)

一般将数据缺失的值替换为均值或是中值,如下面例子所示:

#关于numpy中的nanimport numpy as np#创建数组t = np.arange(12).reshape((3,4)).astype("float")#将部分数换为nant[1,2:] = np.nan#print(t)# [[ 0. 1. 2. 3.]# [ 4. 5. nan nan]# [ 8. 9. 10. 11.]]def fill_ndarray(t): for i in range(t.shape[1]): # 遍历每一列 temp_col = t[:,i] # 当前的一列 nan_num = np.count_nonzero(temp_col!=temp_col) if nan_num !=0: # 不为0,说明当前列中含有nan temp_not_nan_col = temp_col[temp_col==temp_col] # 当前一列不为nan的array # 选中当前为nan的位置,把值赋为不为nan的均值 temp_col[np.isnan(temp_col)] = temp_not_nan_col.mean() return tif __name__=='__main__': # 创建数组 t1 = np.arange(12).reshape((3, 4)).astype("float") t1[2,2:] = np.nan print(t1) t1 = fill_ndarray(t1) print(t1)# [[ 0. 1. 2. 3.]# [ 4. 5. 6. 7.]# [ 8. 9. nan nan]]# [[0. 1. 2. 3.]# [4. 5. 6. 7.]# [8. 9. 4. 5.]]

​​返回顶部​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyBatis多对多关联映射创建示例
下一篇:那些年,看看微信小程序仿网易云音乐的相关播放(网易云音乐 小程序)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~