【发布时间】:2020-04-21 21:43:03
【问题描述】:
我有一个 pandas DataFrameGroupBy 对象,我想将其转换为普通数据框。现在我know that I can use:
df_g.apply(lambda x: x)
但为什么需要这样做呢?考虑到在 Pandas 中申请通常很昂贵。有更好的解决方案吗?我没有看到我的测试用例有任何令人眼花缭乱的性能损失(因为我没有太多列),所以它可能没问题。只是好奇:)
示例代码:
import pandas as pd
df = pd.DataFrame({'a': [1,2,3,4,5], 'b': ["a", "a", "a", "b", "b"]})
df_g = df.groupby(by='b')
df_again = df_g.apply(lambda x:x)
问候, 尼克拉斯
【问题讨论】:
-
没有直截了当的方法,因为你总是想要在分组后做某事。否则它的目的是什么?
-
在我的例子中,它在一个计算 api 服务中,我们在其中链接 pandas 操作。对于几乎所有情况,我们都会对其进行操作,但在少数情况下我们不会。现在我们可以通过更改链接来处理这些极端情况,以了解我们不应该运行分组步骤,或者允许它分组,然后简单地将其转换回边缘情况:)