【发布时间】:2018-08-29 15:34:46
【问题描述】:
这个question 没有得到满意的答案,所以我再问一遍。
假设我有以下 Pandas DataFrame:
df1 = pd.DataFrame({'group': ['a', 'a', 'b', 'b'], 'values': [1, 1, 2, 2]})
我按第一列“组”分组:
g1 = df1.groupby('group')
我现在创建了一个“DataFrameGroupBy”。然后我从 GroupBy 对象中提取第一列:
g1_1st_column = g1['group']
g1_1st_column 的类型是“pandas.core.groupby.SeriesGroupBy”。请注意,它不再是“DataFrameGroupBy”了。
我的问题是,如何将 SeriesGroupBy 对象转换回 DataFrame 对象?我尝试使用 .to_frame() 方法,得到以下错误:
g1_1st_column = g1['group'].to_frame()
AttributeError:无法访问“SeriesGroupBy”对象的可调用属性“to_frame”,请尝试使用“apply”方法。
如何使用 apply 方法或其他方法来转换为 DataFrame?
【问题讨论】:
-
可能是:
g1['group'].apply(pd.DataFrame) -
@ManishSaraswat,就是这样!这就是答案。很简单!非常感谢! :D
标签: python pandas dataframe apply pandas-groupby