将熊猫数据框按两列分组而不汇总
Posted
技术标签:
【中文标题】将熊猫数据框按两列分组而不汇总【英文标题】:Grouping pandas dataframe by two columns without summarizing it 【发布时间】:2022-01-07 20:39:17 【问题描述】:我有一个覆盖美国不同州的 pandas 数据框。我想按两列 year 和 state 进行分组,以便统计测试一些事情,例如死因,新生儿等,并绘制它。
我只能想出groupby
pandas 函数,我必须在最后指定一个统计摘要,例如:
import pandas as pd
df = pd.read_csv(path + 'csvfile.csv')
grouped_df = df.groupby(['Year', 'State']).mean()
但是,我想仅按 year 和 state 进行分组,但是使用 groupby
这样做我得到了:
import pandas as pd
df = pd.read_csv(path + 'csvfile.csv')
grouped_df = df.groupby(['Year', 'State'])
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000025720134688>
我该怎么做?
【问题讨论】:
你的意思是排序吗?使用 sort_values(['Year', 'State']) 看看你是否得到你要找的东西 【参考方案1】:首先groupby
像iterator
一样简化,所以指定之后的内容很重要 - 聚合函数、自定义函数..?
不确定group by the year and state alone
是什么意思,如果需要MultiIndex
2列使用:
grouped_df = df.set_index(['Year', 'State'])
【讨论】:
以上是关于将熊猫数据框按两列分组而不汇总的主要内容,如果未能解决你的问题,请参考以下文章