Python中是否存在类似R语言dplyr包bind_rows()的函数?
Python中类似dplyr::bind_rows()的函数
在Python的pandas库中,有两个常用方法可以实现和R语言dplyr包bind_rows()一致的功能——合并列名不完全相同的数据框,自动为缺失列填充空值:
pd.concat():这是当前官方推荐的标准方法,指定按行合并(axis=0,默认即为该值)即可处理列名不一致的场景,缺失列会自动用NaN填充。
示例代码:import pandas as pd df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) df2 = pd.DataFrame({'B': [5, 6], 'C': [7, 8]}) # 合并后会包含A、B、C三列,df2的A列补NaN,df1的C列补NaN merged_df = pd.concat([df1, df2], ignore_index=True)若不设置
ignore_index=True,合并结果会保留原数据框的索引,可能出现重复索引,可根据需求选择是否重置。pd.DataFrame.append():这个方法曾专门用于行追加,但目前已被标记为弃用,官方建议用pd.concat()替代。它同样支持列名不一致的合并,缺失列补NaN。
示例代码(不推荐使用):merged_df = df1.append(df2, ignore_index=True)
内容的提问来源于stack exchange,提问作者anderwyang
相关产品推荐
相关产品推荐

