定义:是一种特殊的并行计算的方式,可以同一时间执行多次操作,通常是对不同的数据执行同一个或同一批指令。主要用于pandas的Series系列和DataFrame数据框。
1.生成等差数组
numpy.arange(start, end, step)
,取值前闭后开。
import numpy
r = numpy.arange(0.1, 1, 0.1)
Out[180]: array([ 0.1, 0.2, 0.3, 0.4, 0.5,
0.6, 0.7, 0.8, 0.9])
2.四则计算与函数计算
相同位置的数据进行四则或函数计算,返回的结果保存在相同位置。
#numpy的乘方函数power
numpy.power(r, 5) #r的五次方
Out[182]:
array([ 1.00000000e-05, 3.20000000e-04, 2.43000000e-03,
1.02400000e-02, 3.12500000e-02, 7.77600000e-02,
1.68070000e-01, 3.27680000e-01, 5.90490000e-01])
3.比较运算
r > 0.3
Out[183]: array([False, False, True, True, True,
True, True, True, True], dtype=bool)
#结合过滤一起使用,如果是True就保留,如果是False就过滤
r[r>0.3]
Out[184]: array([ 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
4.矩阵运算
numpy.dot(r, r.T)
Out[185]: 2.8500000000000005
5.数据框运算
numpy.random.randn
生成随机数的数据框
from pandas import DataFrame
df = DataFrame({
'column1': numpy.random.randn(5),
'column2': numpy.random.randn(5),
'column3': numpy.random.randn(5)
})
Out[187]:
column1 column2 column3
0 -0.611932 -1.690942 0.092462
1 -0.765934 0.794254 1.123755
2 -1.591180 0.340763 -0.232495
3 1.463467 -0.588498 -0.208558
4 -0.338739 0.907178 -1.146147
#apply()调用数据框的每一列传递给min函数,由其选出每一列的最小值。
#二维数组有两个轴:第0轴沿行垂直往下,第1轴沿列水平延伸。
df.apply(min, axis=0) #axis=0为默认值
Out[188]:
column1 -1.591180
column2 -1.690942
column3 -1.146147
dtype: float64
df.apply(min, axis=1)
Out[189]:
0 -1.690942
1 -0.765934
2 -1.591180
3 -0.588498
4 -1.146147
dtype: float64
#判断每个列,值是否都大于0
df.apply(
lambda x: numpy.all(x>0),
axis=1
)
Out[191]:
0 False
1 False
2 False
3 False
4 False
dtype: bool
#结合过滤
df[df.apply(
lambda x: numpy.all(x>0),
axis=1
)]
Out[192]:
Empty DataFrame
Columns: [column1, column2, column3]
Index: []
网友评论