python - 对匹配某个字符串的值求和并将它们分开
问题描述
我有个问题。给定一个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)
谢谢
解决方案
您可以进行分组总和:
df.groupby('Letters').sum()
# Values
# Letters
# a 3500
# b 11200
推荐阅读
- javascript - 如何在html(jquery)中做动态下拉列表?
- sql - Mongodb查询问题,如何获取$or运算符的匹配项
- scala - 错误:withColumn 方法的参数不足:Scala spark
- shell - 附加到现有的 tcsh cmd 自动完成指令
- php - Wordpress 重写规则不适用于“name”,但适用于“p”
- c# - C# 等效于 Java org.json.JSONObject
- python - 使用 __getitem__ 方法赋值时出现 KeyError
- android - onTouchEvent - setter 方法不起作用,但构造函数起作用。极度困惑
- node.js - 通过 nginx 运行多个 express 应用程序,显示端口已在使用中
- php - 更改 laravel 网站的默认登录页面