首页 > 解决方案 > 对匹配某个字符串的值求和并将它们分开

问题描述

我有个问题。给定一个pandas数据框,是否可以在Letters列中找到相似的字符串,例如如果Letters=a,则将相应的值相加。(因此如果Letters=a的总数为3500,Letters=b为11200),则无需这样做像这样?

import pandas as pd

data = {'Letters': ["a","b","b","a"],
        'Values': [1500,2200,9000,2000]
        }

df = pd.DataFrame(data,columns=['Letters',"Values"])
totala=0
totalb=0
print()
for i in range(len(df)):
  if df.Letters[i]=="a":
    totala+=df.Values[i]
  else:
    totalb+=df.Values[i]


print(totala)
print(totalb)

谢谢

标签: pythonpandas

解决方案


您可以进行分组总和

df.groupby('Letters').sum()

#          Values
# Letters        
# a          3500
# b         11200

推荐阅读