将DataFrameGroupBy对象转换为DataFrame pandas

时间:2012-11-27 10:43:07

标签: python pandas

我有一个数据框,并在FIPS中做了一个小组,并总结了工作正常的小组。

kl = ks.groupby('FIPS')

kl.aggregate(np.sum)

我只想要一个普通的Dataframe,但我有一个pandas.core.groupby.DataFrameGroupBy对象。

4 个答案:

答案 0 :(得分:16)

kl.aggregate(np.sum)结果是一个普通的DataFrame,您只需将其分配给变量即可进一步使用它。随着一些随机数据:

>>> df = DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
>>>                         'foo', 'bar', 'foo', 'foo'],
...                  'B' : ['one', 'one', 'two', 'three',
...                         'two', 'two', 'one', 'three'],
...                  'C' : randn(8), 'D' : randn(8)})
>>> grouped = df.groupby('A')
>>> grouped
<pandas.core.groupby.DataFrameGroupBy object at 0x04E2F630>
>>> test = grouped.aggregate(np.sum)
>>> test
            C         D
A                      
bar -1.852376  2.204224
foo -3.398196 -0.045082

答案 1 :(得分:10)

Main> @macroexpand @random_oper(1, [+, -, /], [1,2,3])
:((-)([3, 3]...))

Main> @macroexpand @random_oper(2, [+, -, /], [1,2,3])
:((+)((-)([2, 3]...), 3))

将返回原始数据框。

答案 2 :(得分:1)

使用pd.concat,就像这样:

   pd.concat(map(lambda x: x[1], groups))

或者也使index保持对齐:

   pd.concat(map(lambda x: x[1], groups)).sort_index()

答案 3 :(得分:0)

您可以将{。{1}}的结果与.head('#of rows')一起输出到变量。

例如:phinew = zeros(nx,ny);

现在,您有了一个包含所有分组数据的熊猫数据框“ df2”。