python进行数据分析(1)
numpy学习
import numpy as np
arr=np.random.randn(4,4)
arr1=np.where(arr>0,2,1)
arr1.min()
arr1.max()
arr1.mean()
arr1.cumsum(0)
arr1.cumsum(1)
arr1.mean(0)
arr1.std(0)
arr1.std(1)
arr1.var(0)
arr1.var(1)
关于0和1的理解:
其中括号内为0,则纵向轴进行相应均值、求最大、累加等计算;
其中括号内为1,则横向轴进行相应均值、求最大、累加等计算;
基本数组统计方法
方法 | 说明 |
---|---|
sum | 求和 |
mean | 算术平均数 |
std | 标准差 |
var | 方差 |
argmin、argmax | 最大、最小元素的索引 |
cumsum | 所有元素的累积和 |
cumprod | 所有元素的累积积 |
布尔型数组的方法
布尔值会被强制转换为1和0
import numpy as np
arr=np.random.randn(1000)
(arr>0).sum() #正值的数量
另外还有两个方法any 和all ,对布尔型数组非常有用。any用于测试数组中是否存在一个或者多个True,而all则检查数组中所有值是否都为True。
bools=np.arr([False,False,True])
bools.any()
bools.all()
这两种方法能用于非布尔型数组,所有非0元素将会被当作True。
排序
多维数组可以在任何一轴向上进行排序,只需要将轴编号传给sort即可:
demo:
顶级方法np.sort返回的是数组的已排序副本,而就地排序则会修改数组本身。
计算数组分位数最简单的办法是对其进行排序,然后选取特定位置的值: