将DataFrame(长格式数据)重塑为“摘要”DataFrame

所有,我是新的python。 我试图自动化重塑,我通常在Excel中执行如下

#Import long form data from CSV into pandas data frame In 1: Data = [My Long Form DataFrame imported from a CSV file] City Population Chicago 1,245 Los Angeles 2,457 New York 998 Chicago 1,854 New York 1,654 Los Angeles 2,478 Los Angeles 760 more... #Reshape "Data" DataFrame to a summary DataFrame "DataByCity" In 2: DataByCity = pandas.DataFrame(Data.reset_index().groupby(['City'])['City'].count(), columns = ['Count_Cities']) Out 2: City Count_Cities Chicago 5 New York 10 Los Angeles 8 

接下来(在这里需要帮助),我需要添加从“数据”到“DataByCity”更多的列。 例如,我需要按城市从“数据”中将人口总和列入一个列表,并将该列表追加到“DataByCity”中。

 In 3: ?????? Out 3: City Count_Cities Sum_Pop Chicago 5 10,128 New York 10 18,457 Los Angeles 8 16,950 

最后,我需要添加一个计算的第四列“DataByCity”(['Sum_Pop'] / ['Count_Cities'])

 In 4: ??? Out 4: City Count_Cities Sum_Pop Avg_Pop Chicago 5 10,128 2,025.6 New York 10 18,457 1,845.7 Los Angeles 8 16,950 2,118.75 

感谢任何帮助! 我已经search了这些论坛几天,以及python文档。 我不能把线索放在一起。 谢谢

你会发现你想要在这里描述: 一次应用多个function

以Data和Data开始,以City和Population作为列。

 import pandas as pd import numpy as np grouped = Data.groupby('City') df = grouped['Population'].agg({'Count_Cities' : np.count, 'Sum_Pop' : np.sum, 'Avg_Pop' : np.mean}) 

或者,您可以使用数据透视表function。

您在这里find的最终问题的答案没有任何问题。