猿问

是否有一个函数可以对 x 和 y 求和,其中 y 是 pandas 系列中 x 之后的数字?

给定一个数据框:


   Number

0    4

1    6

2    2

3   -1

有没有一种简单而干净的方法可以将第一个数字(4)与后面的数字(6)相加,以及将总和(6)与(2)相加,依此类推。是否可以返回 aPandas.series并将其添加为带有 NaN 的数据帧的新列,其中数字后面没有数字?


例如,对于给定的数据框:


   Number Sum

0    4     10

1    6     8

2    2     1

3   -1     NaN

其中 10=4+6、8=6+2 和 1=2-1


解决方案


.shift()函数帮我解决了这个问题!代码:


df['Sum'] = df['Number'] + df['Number'].shift(-1)

输出是:


   Number Sum

0    4     10

1    6     8

2    2     1

3   -1     NaN


郎朗坤
浏览 75回答 1
1回答

MMTTMM

就像评论的那样,shift()在这种情况下应该有用:df['Sum'] = df['Number'] + df['Number'].shift(-1)输出:   Number   Sum0       4  10.01       6   8.02       2   1.03      -1   NaN
随时随地看视频慕课网APP

相关分类

Python
我要回答