我试图基于位置列对计数列中的值求和,然后在求和列中附加值。

到目前为止的输出:

         lat       lon       place  predict  count
0  51.375339 -0.390005      London        0     15
1  53.362981 -2.929597   Liverpool        0      2
2  51.375339 -0.390005      London        1      2
3  53.426872 -2.280006  Manchester        0      1


所需输出:

         lat       lon       place  predict  count  Sum
0  51.375339 -0.390005      London        0     15   17
1  53.362981 -2.929597   Liverpool        0      2    2
2  51.375339 -0.390005      London        1      2   17
3  53.426872 -2.280006  Manchester        0      1    1


任何帮助将不胜感激。

最佳答案

一种方法是使用pandas groupby函数。这将为您提供每个位置的总和。然后,您可以将这些结果合并回原始数据框中,以获得所需的输出。

sums = df.groupby('place').sum()['count']
sums = sums.rename('sum')
df.merge(sums, on='place')

08-24 12:30