算数与数据对齐
1.相同维度
'''
在不重叠的地方引入了NA值
重叠:series为index,dataframe为index,columns
'''
s1=pd.Series([1.2,3.4,-7.8,5.6],index=['d','a','c','b'])
s2=pd.Series([1.1,2.2,3.3,4.4,5.5,6.6],index=['a','b','c','d','e','f'])
print(s1+s2)
'''
a 4.5
b 7.8
c -4.5
d 5.6
e NaN
f NaN
dtype: float64
'''
#如果一个轴标签对象存在,另外一个不存在,将缺失值填充为0再进行运算
df1=pd.DataFrame(np.arange(12).reshape(3,4),columns=list('dcbe'))
df2=pd.DataFrame(np.arange(20).reshape(4,5),columns=list('cdabe'))
print(df1.add(df2,fill_value=0))
'''
a b c d e
0 2.0 5.0 1.0 1.0 7.0
1 7.0 14.0 10.0 10.0 16.0
2 12.0 23.0 19.0 19.0 25.0
3 17.0 18.0 15.0 16.0 19.0
'''
add,radd +
sub,rsub -
div,rdiv /
floordiv,rfloordiv //
mul,rmul *
pow,rpow **
前面带r:参数是翻转的
例:1/df1==df1.rdiv(1)
2.不同维度:具有广播性
df1=pd.DataFrame(np.arange(12).reshape(3,4),columns=list('dcbe'))
sr=df1.loc[0,:]
print(df1-sr)
#df1.sub(sr,axis=0)---默认对轴操作,可以通过axis可以指定对索引进行操作
'''
d c b e
0 0 0 0 0
1 4 4 4 4
2 8 8 8 8
'''
统计与计算
在进行统计描述时,pandas对三个数据对象的轴参数规定如下:
Series: 没有轴参数
DataFrame: “index” (axis=0, default), “columns” (axis=1)
Panel: “items” (axis=0), “major” (axis=1, default), “minor” (axis=2)
abs 绝对值
count 非NA值的数量
compound 返回请求轴的值的复合百分比
describe 针对Series或各DataFrame列计算汇总统计
min,max 计算最小值和最大值
argmin,argmax 计算能够获取到最小值和最大值的索引位置(整数)
idxmin,idxmax 计算能够获取到最小值和最大值的索引值
quantile 计算样本的分位数(0到 1)
sum 值的总和
mean 值的平均数
median 值的算术中位数(50%分位数)
mad 根据平均值计算平均绝对离差
sem 样本值无偏标准误
var 样本值的方差
std 样本值的标准差
skew 样本值的无偏偏差
kurt 样本值的无偏峰度
cumsum 样本值的累计和
cummin,cummax 样本值的累计最大值和累计最小
cumprod 样本值的累计积
diff 计算一阶差分(对时间序列很有用)
pct_change 计算当前值与上一个的百分数变化
corr 计算列的成对相关性,不包括NA / null值。
corrwith 计算行或列与另一个序列的相关性。
product 值的乘积
round 将Series或DataFrame舍入到可变数量的小数位。