python - 在 pandas df 中添加值的有效方法

标签 python pandas addition

我正在尝试确定一种更有效的方法来在 pandas df 中添加特定值。

对于下面的df,我想在Value中为每个X + Y添加整数 区域。因此,对于每个 X,我想将其添加到以下 Y 中。

import pandas as pd

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

df = pd.DataFrame(data=d)

如果没有太多值,我可以按照以下方式手动检查:

x = df.iloc[0] + df.iloc[1]

但是如果df非常大,这就会变得低效。

预期输出:

21
51

最佳答案

过滤条件boolean indexingSeries,创建默认索引和 Series.add :

s1 = df.loc[df['Area'].eq('X'), 'Value'].reset_index(drop=True)
s2 = df.loc[df['Area'].eq('Y'), 'Value'].reset_index(drop=True)

s = s1.add(s2)
print (s)
0    21
1    51
dtype: int64

解决方案的优点是 XY 值的顺序并不重要。

关于python - 在 pandas df 中添加值的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54980060/

相关文章:

python - 正则表达式不将匹配识别为 True

python - Raspberry Pi 上的 Python 中的 GPIO.getmode() 获得的值与 wiki 上的不同

Pandas :分类列上的 min() 问题

python - matplotlib boxplot xticks 向 y 轴移动

python - pandas:以排名为中心

javascript - 在 Javascript 中将整数添加为字符串

php - 如何在PHP中+(加法)值(数字)在一起?

python - 提高图像中字母的质量

java - 如何将具有不同位数的整数的数组表示形式相加?

python - Django 保存科学数字