Pandas - 合并 DataFrame 中的行 [重复]

Posted

技术标签:

【中文标题】Pandas - 合并 DataFrame 中的行 [重复]【英文标题】:Pandas - Merge rows in a DataFrame [duplicate] 【发布时间】:2018-11-05 04:48:00 【问题描述】:

我正在尝试清理一些数据

数据框目前看起来像这样:

    id  data data2
0   12  NaN  50.0
1   12  a    50.0
2   12  a    NaN
3   52  b    NaN
4   52  NaN  20.0
5   52  NaN  20.0

我想折叠行以删除重复条目,并在这种特定情况下仅保留 ID 上的有效分组,忽略 NaN 及以上:

    id  data data2
0   12  a    50
1   52  b    20

【问题讨论】:

在这之前你有没有在两个dataFrames上调用pd.concat? 不,这些数据是按原样提供给我的 那么“忽略 NaN”是什么意思?这里的重复项是什么?你的问题有点笼统。 那么,df.groupby('id').first()? @HarvIpan 不是 100% 肯定,但它可能是重复的。随意用我的评论编辑你的答案,这对我来说很好。 【参考方案1】:

你需要:

df.groupby('id', as_index=False).first()

输出:

    id  data    data2
0   12  a      50.0
1   52  b      20.0

【讨论】:

@coldspeed,谢谢。

以上是关于Pandas - 合并 DataFrame 中的行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

我正在寻找一种有效的方法来连接和合并 pandas DataFrame 中关于某些标准的行

Pandas DataFrame:合并具有相同 ID 的行

基于Pandas.Dataframe中的多个列合并多个重复行

pandas数据规整化:清理转换合并重塑之合并数据集

Pandas-多表操作

Pandas DataFrame 合并,以更多行结束