浅谈Pandas:Series和DataFrame间的算术元素

时间:2021-05-22

如下所示:

import numpy as npimport pandas as pdfrom pandas import Series,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+s21a 3.0b 7.0c 11.0d NaNe NaNdtype: 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) 价格 数量 水果0 100.0 9.0 NaN1 81.0 4.0 NaN2 64.0 25.0 NaN3 NaN NaN NaN

三、Series与DataFrame

1.利用广播实现DataFrame与某行的运算

print(df2+df2.iloc[0]) # 将第0行加到所有行上 价格 数量0 20 61 19 52 18 83 17 9

2.利用广播实现DataFrame与某列的运算(指定轴axis=0)

print(df2.sub(df2.iloc[:,0],axis=0)) 价格 数量0 0 -71 0 -72 0 -33 0 -1

3.运算时如果无法对齐,则填充NaN

s = Series([1,1,1],index=['数量','价格','重量'])print(df2+s) 价格 数量 重量0 11 4 NaN1 10 3 NaN2 9 6 NaN3 8 7 NaN

以上这篇浅谈Pandas:Series和DataFrame间的算术元素就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章