【问题标题】:Merging multidimentional dataframes after groupby and aggregate在 groupby 和聚合之后合并多维数据框
【发布时间】:2017-06-05 19:48:52
【问题描述】:

我在合并我创建的两个数据框时遇到了一些问题。我有两个数据帧(我们称它们为 someframe1 和 someframe2)并在两者上执行了以下操作:

grouped1 = someframe1.groupby('a_code')

agg_grouped = grouped['acolumn'].agg([np.mean, np.std])

现在我想做的是:

mergedframe = pd.merge(grouped1, grouped2, how='inner', on='a_code')

并且收到一个键索引错误。我不知道为什么因为'a_code'是两者的第一列。我假设该错误可能与 grouped1 和 grouped2 中的多索引有关,但我不确定。

我查看了hereherehere,但其中没有一个似乎完全适用,否则我无法正确理解它们。帮助将不胜感激。谢谢

【问题讨论】:

    标签: python pandas merge group-by


    【解决方案1】:

    如果你.groupby('a_code'),那么'a_code'就变成了索引名,不再是列名,所以你不能用on关键字合并它。

    试试这个: mergedframe = pd.merge(grouped1, grouped2, how='inner', left_index = True, right_index = True)

    【讨论】:

    • 是的,这行得通。起初它给了我一个问题,因为显然其中一个有 1 个维度,另一个有 2 个维度(因为一个有多个正在聚合的变量)。但我只是添加了另一列来聚合 1 来改变它。有没有更好的方法来做到这一点而不添加不必要的信息?
    • 我收到此警告:用户警告:不同级别之间的合并可能会产生意想不到的结果...
    • 如果你发布一些示例数据我可以看看
    猜你喜欢
    • 2023-03-07
    • 2022-01-14
    • 1970-01-01
    • 2018-04-17
    • 2022-12-07
    • 1970-01-01
    • 2019-10-12
    • 2017-07-04
    • 2017-05-24
    相关资源
    最近更新 更多