python |
您所在的位置:网站首页 › groupby使用 › python |
循环将Groupby对象转换为DataFrame对象
时间:2018-06-28 07:48:18
标签: python pandas dataframe 我有一个像这样的数据框df No Country Sex Age Group 1 Spain M Young 2 Norway F Middle 3 Mexico M Elderly ...我的目标是首先根据国家/地区对数据进行分组,然后使用.value_counts() 根据性别和年龄组进行分析因此,我在groupby上使用了df2 = df.groupby(df.Country)并像这样循环 for d in df2: print(type(d))我得到以下输出: ...我想使用 for d in df2: print(pd.DataFrame(d).Sex.value_counts())但我收到此错误 DataFrame constructor not properly called!昨天我问过类似的question,但这仅限于一个非常特殊的查询。我想学习的是知道如何将图层“分组”为块,然后对这些特定的块进行分析。 谢谢! 1 个答案:答案 0 :(得分:1) 我认为更好的方法是使用: s = df.groupby('Country').Sex.value_counts() print (s) Country Sex Mexico M 1 Norway F 1 Spain M 1 Name: Sex, dtype: int64但是如果需要使用循环是必要的,可以通过添加另一个变量i来解压group和df的元组名称: df2 = df.groupby(df.Country) for i, d in df2: print(type(d))或使用GroupBy.apply: def func(x): print (x) a = x.Sex.value_counts() #another code return a df2 = df.groupby(df.Country).apply(func) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |