gpt4 book ai didi

python - 从 pandas df 中的特定值返回系列

转载 作者:行者123 更新时间:2023-12-01 00:54:17 25 4
gpt4 key购买 nike

我正在尝试返回一个序列,其中包含 pandas df 中特定值的一些添加。具体来说,对于下面的df。我想将所有 X 与所有 Y's 添加在一起。但这些没有任何特定的顺序。

import pandas as pd

d = ({
'Item' : ['X','Y','Z','X','Z','Y','Z'],
'Value' : [10,11,20,21,10,30,31],
})

df = pd.DataFrame(data=d)

Xs = df.loc[df['Item'] == 'X', 'Value']
Ys = df.loc[df['Item'] == 'Y', 'Value']

Out = Xs + Ys

预期输出:

21
51

最佳答案

这是不同索引的问题,因此需要相同的 Series.reset_indexdrop=True:

Out = Xs.reset_index(drop=True) + Ys.reset_index(drop=True)
print (Out)
0 21
1 51
Name: Value, dtype: int64

或者如果可能的话系列的不同长度使用 Series.add :

Out = Xs.reset_index(drop=True).add(Ys.reset_index(drop=True), fill_value=0)

或者,如果 Series 的长度始终相同,则可以对 1d numpy 数组进行求和:

Out = pd.Series(Xs.values + Ys.values)
print (Out)
0 21
1 51
dtype: int64

关于python - 从 pandas df 中的特定值返回系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56338448/

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