将数据帧(长格式数据)重塑为"summary"数据帧



大家好,我是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"。例如,我需要将"Data"中按城市的人口总和添加到一个列表中,并将该列表添加到"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

感谢您的帮助!我已经搜索这些论坛好几天了,还有python文档。我就是想不起来这些线索。谢谢你

您会发现这里描述了您想要的内容:一次应用多个函数

以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})

或者您可以使用数据透视表功能。

你可以毫不费力地在这里找到最后一个问题的答案。

相关内容

  • 没有找到相关文章

最新更新