gpt4 book ai didi

python - pandas 中行之间的减法 - python

转载 作者:行者123 更新时间:2023-12-01 03:56:14 25 4
gpt4 key购买 nike

df=pd.DataFrame(data={'a':['x','y'], 'b':[25,23]},index=[0,1])

我只想在行之间执行简单的减法

df.b[df.a=='x']-df.b[df.a=='y']

但是我得到了这个输出

0  NaN
1 NaN

最佳答案

我认为你需要通过 values 转换为 numpy 数组 ,因为两个 df 都有不同的索引:

print (df.b[df.a=='x'])
0 25
Name: b, dtype: int64

print (df.b[df.a=='y'])
1 23
Name: b, dtype: int64

print (df.b[df.a=='x'].values - df.b[df.a=='y'].values)
[2]

如果通过s1的索引更改索引s2:

s1 = (df.b[df.a=='x'])

s2 = pd.Series(df.b[df.a=='y'].values, index=s1.index)

print (s1)
0 25
Name: b, dtype: int64

print (s2)
0 23
dtype: int64

print (s1 - s2)
0 2
dtype: int64

关于python - pandas 中行之间的减法 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37411586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com