浅谈Pandas:Series和DataFrame间的算术元素
如下所示:
importnumpyasnp importpandasaspd frompandasimportSeries,DataFrame
一、Series与Series
s1=Series([1,3,5,7],index=['a','b','c','d']) s2=Series([2,4,6,8],index=['a','b','c','e'])
索引对齐项相加,不对齐项的值取NaN
s1+s2 1 a3.0 b7.0 c11.0 dNaN eNaN dtype:float64
二、DataFrame与DataFrame
data1={'水果':['苹果','梨','草莓'], '数量':[3,2,5], '价格':[10,9,8]} data2={'数量':[3,2,5,6], '价格':[10,9,8,7]} df1=DataFrame(data1) df2=DataFrame(data2)
在行和列上同时对齐后进行计算,如果找不到对应项则取NaN
print(df1*df2)
价格数量水果 0100.09.0NaN 181.04.0NaN 264.025.0NaN 3NaNNaNNaN
三、Series与DataFrame
1.利用广播实现DataFrame与某行的运算
print(df2+df2.iloc[0])#将第0行加到所有行上
价格数量 0206 1195 2188 3179
2.利用广播实现DataFrame与某列的运算(指定轴axis=0)
print(df2.sub(df2.iloc[:,0],axis=0))
价格数量 00-7 10-7 20-3 30-1
3.运算时如果无法对齐,则填充NaN
s=Series([1,1,1],index=['数量','价格','重量']) print(df2+s)
价格数量重量 0114NaN 1103NaN 296NaN 387NaN
以上这篇浅谈Pandas:Series和DataFrame间的算术元素就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。