我有一个数据框,并应用了groupby方法。现在我有一个pandas.core.groupby.SeriesGroupBy,但是我不能在其上使用任何数据框方法。如何将其转换为可用的数据框?

type(survivor)
pandas.core.groupby.SeriesGroupBy


通过应用.groups看起来像这样:

{'C': Int64Index([  1,   9,  19,  26,  30,  31,  34,  36,  39,  42,
         847, 849, 852, 858, 859, 866, 874, 875, 879, 889],
        dtype='int64', name=u'ID', length=168),
'Q': Int64Index([  5,  16,  22,  28,  32,  44,  46,  47,  82, 109, 116, 126,
143,
         156, 171, 186, 188, 196, 198, 208, 214, 241, 245, 260, 264, 274,
         727, 749, 767, 768, 776, 778, 787, 790, 825, 828, 885, 890],
        dtype='int64', name=u'ID'),
'S': Int64Index([  0,   2,   3,   4,   6,   7,   8,  10,  11,  12,
         877, 878, 880, 881, 882, 883, 884, 886, 887, 888],
        dtype='int64', name=u'ID', length=644)}


我尝试按照其他一些相关问题的说明进行操作,但仍然遇到相同的错误(例如):
AttributeError:“ SeriesGroupBy”对象没有属性“ set_index”

非常感谢!

最佳答案

您可以非常简单地将pandas.core.groupby.SeriesGroupBy转换为DataFrame,如下所示:

survivor.apply(pd.DataFrame)

关于python - 将pandas.core.groupby.SeriesGroupBy转换为dataframe,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46807334/

10-12 16:59