将 pandas.core.groupby.SeriesGroupBy 转换为 DataFrame

Sea*_*thy 9 python apply dataframe pandas pandas-groupby

这个问题没有得到满意的答案,所以我再问一次。

假设我有以下 Pandas DataFrame:

df1 = pd.DataFrame({'group': ['a', 'a', 'b', 'b'], 'values': [1, 1, 2, 2]})
Run Code Online (Sandbox Code Playgroud)

我按第一列“组”分组:

g1 = df1.groupby('group')
Run Code Online (Sandbox Code Playgroud)

我现在已经创建了一个“ DataFrame GroupBy”。然后我从 GroupBy 对象中提取第一列:

g1_1st_column = g1['group']
Run Code Online (Sandbox Code Playgroud)

该类型g1_1st_column的是“pandas.core.groupby。系列的GroupBy”。请注意,它不再是“ DataFrame GroupBy”。

我的问题是,如何将 SeriesGroupBy 对象转换回 DataFrame 对象?我尝试使用 .to_frame() 方法,并得到以下错误:

g1_1st_column = g1['group'].to_frame()
Run Code Online (Sandbox Code Playgroud)

AttributeError:无法访问“SeriesGroupBy”对象的可调用属性“to_frame”,请尝试使用“apply”方法。

我将如何使用 apply 方法或其他一些方法转换为 DataFrame?

Sea*_*thy 10

Manish Saraswat 在评论中亲切地回答了我的问题。

g1['group'].apply(pd.DataFrame)
Run Code Online (Sandbox Code Playgroud)