Python 在pandas数据框中,如何添加一个字段,该字段是一个包含group by的运行总计
我有以下数据帧:Python 在pandas数据框中,如何添加一个字段,该字段是一个包含group by的运行总计,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下数据帧: import pandas mydata = [{'city': 'London', 'age': 75, 'fdg': 1.78}, {'city': 'Paris', 'age': 22, 'fdg': 1.56}, {'city': 'Paris', 'age': 32, 'fdg': 1.56}, {'city': 'New York', 'age': 37, 'fdg': 1.56},
import pandas
mydata = [{'city': 'London', 'age': 75, 'fdg': 1.78},
{'city': 'Paris', 'age': 22, 'fdg': 1.56},
{'city': 'Paris', 'age': 32, 'fdg': 1.56},
{'city': 'New York', 'age': 37, 'fdg': 1.56},
{'city': 'London', 'age': 24, 'fdg': 1.56},
{'city': 'London', 'age': 22, 'fdg': 1.56},
{'city': 'New York', 'age': 60, 'fdg': 1.56},
{'city': 'Paris', 'age': 22, 'fdg': 1.56},
]
df = pandas.DataFrame(mydata)
age city fdg
0 75 London 1.78
1 22 Paris 1.56
2 32 Paris 1.56
3 37 New York 1.56
4 24 London 1.56
5 22 London 1.56
6 60 New York 1.56
7 22 Paris 1.56
我想在末尾添加一个名为age_total的字段,它将是age字段的累积总数。累积计算将在一组城市中进行-因此伦敦的第一行是75,巴黎的第二行是22,巴黎的第三行是54-(22+32)df['age_total']=df.groupby('city').cumsum()['age']应该做得很好-谢谢。我只是好奇,如果他想要的是整个城市集团的总金额,而不是流动金额呢?最快的方法是什么。@RedVII这将是
transform
df['otheral\u age\u total']=df.groupby('city)['age'])。transform('sum')的一个用例`
df['age_total']=df.groupby('city').cumsum()['age']