DataFrame合并异常求助:无共同列合并出现重复行问题
解决方法
你之前用merge(how='cross')得到90行,是因为cross是笛卡尔积合并——把两个数据集的每一行两两配对组合,比如10行×9行就会生成90行,这完全不是你要的「简单拼接」效果。
要实现按行对齐的横向拼接,得用pd.concat()而非merge,具体操作步骤:
- 第一步:横向拼接两个DataFrame,按索引对齐
拼接后总行数是两个数据集中行数较多的那个,少一行的数据集对应的缺失行,列值会显示为import pandas as pd combined = pd.concat([cleaned, weather], axis=1)NaN。 - 第二步:删除指定的第9行
注意Python是0起始索引,如果你说的第9行是从1开始计数的,对应位置索引是8;如果是从0开始计数的直接用9:# 删除1-based的第9行(即0-based的第8行) combined = combined.drop(combined.index[8]) # 或者用iloc定位后删除,效果一致 combined = combined.drop(combined.iloc[8].name)
另外你之前尝试的how=None是无效的,merge的how参数只支持left/right/inner/outer/cross这几个选项,根本没有None这个取值,所以不会起作用。
内容的提问来源于stack exchange,提问作者CWK
相关产品推荐
相关产品推荐

