Pandas - GroupBy - 转换新列并重置索引

时间:2016-08-14 18:44:00

标签: python pandas

考虑以下数据框:

df = {'Type': [A, A, A, A, B, B, B, B],
'population': [100,200,300,400,500,600,700,800],
'city_name': ['Chicago', 'Chicago', 'New York', 'New York', 'Chicago', 'New York', 'Chicago', 'New York']}
df = pd.DataFrame(df)

Type  city_name   population
A   Chicago      100
A   Chicago      200
A   Chicago      300
A   New York     400
B   Chicago      500
B   New York     600
B   Chicago      700
B   New York     800

我希望在df中添加两个新列 - PopStd&按类型和city_name分组的df上的PopC
PopC将计算为计数(人口)-1
PopStd将计算为population.std()/ sqrt(count(population))

最后,我只希望每个组都有一条记录。

现在,我已经能够通过以下方式获取列:

df['PopC'] = df.groupby(['Type', 'city_name'])['population'].transform(lambda_fn_for_popC)  

以及获得PopStd的类似方法。

我只需要弄清楚如何为每个组获得一条记录。

0 个答案:

没有答案