如何去除DataFrame索引重复项并合并数据为单行?
处理DataFrame重复索引并合并行数据
如果你的DataFrame存在重复索引,需要将同一索引对应的行数据合并到一行,可以用pandas的groupby结合聚合方法实现:
方法1:简洁高效的first()聚合
first()会自动取每个索引分组下各列的第一个非空值,完全匹配合并非空数据的需求:
import pandas as pd # 替换成你的DataFrame变量名 merged_df = df.groupby(level=0).first()
方法2:自定义聚合逻辑(更灵活)
如果需要更精细的控制(比如处理特殊空值场景),可以用自定义lambda函数确保只保留非空值:
merged_df = df.groupby(level=0).agg(lambda x: x.dropna().iloc[0] if not x.dropna().empty else pd.NA)
执行上述代码后,就能得到索引唯一、相同索引的非空数据合并到同一行的结果。
内容的提问来源于stack exchange,提问作者newcomer
相关产品推荐
相关产品推荐

