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

Posted

技术标签:

【中文标题】将 pandas.core.groupby.SeriesGroupBy 转换为 DataFrame【英文标题】:Convert pandas.core.groupby.SeriesGroupBy to a DataFrame 【发布时间】: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 【参考方案1】:

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

g1['group'].apply(pd.DataFrame)

【讨论】:

以上是关于将 pandas.core.groupby.SeriesGroupBy 转换为 DataFrame的主要内容,如果未能解决你的问题,请参考以下文章

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?

如何将CMD窗口背景改成透明?