如何将df2追加到df1的指定列下方生成df3?求Pandas代码
问题:将df2内容追加到df1的AWB/AWB Number列下方生成df3
原始数据
df1
AWB/AWBCreated Date Status AWB/AWB Number AWB/Sender/Name AWB/Sender/Mobile 2024-02-13 00:00:00 Open 5449151CGT phoe la pyae 9797116597 2024-02-13 00:00:00 Open 5449127AVE Zin Lin *** 9441450256 2024-02-13 00:00:00 Open 5449213PSO အေးသူဇာဝင်း 9953898377 2024-02-12 00:00:00 Open 5443515QUR အချစ်ခါးခါး 9786663605
df2
5071917VXV 5072021JEY 5072117RUL 5071820LOB
期望输出df3
AWB/AWBCreated Date Status AWB/AWB Number AWB/Sender/Name AWB/Sender/Mobile 2024-02-13 00:00:00 Open 5449151CGT phoe la pyae 9797116597 2024-02-13 00:00:00 Open 5449127AVE Zin Lin *** 9441450256 2024-02-13 00:00:00 Open 5449213PSO အေးသူဇာဝင်း 9953898377 2024-02-12 00:00:00 Open 5443515QUR အချစ်ခါးခါး 9786663605 5071917VXV 5072021JEY 5072117RUL 5071820LOB
尝试的错误代码
df3 = pd.concat([df1, df2], ignore_index=True)
错误结果
AWB/AWBCreated Date Status AWB/AWB Number AWB/Sender/Name AWB/Sender/Mobile AWB/AWB Number 2024-02-13 00:00:00 Open 5449151CGT phoe la pyae 9797116597 5071917VXV 2024-02-13 00:00:00 Open 5449127AVE Zin Lin *** 9441450256 5072021JEY 2024-02-13 00:00:00 Open 5449213PSO အေးသူဇာဝင်း 9953898377 5072117RUL 2024-02-12 00:00:00 Open 5443515QUR အချစ်ခါးခါး 9786663605 5071820LOB
正确实现代码
错误原因是df2未指定列名,concat时会默认将其内容作为新列拼接。需先给df2指定与df1目标列一致的列名,再进行拼接:
# 为df2设置列名,匹配df1的目标列 df2.columns = ['AWB/AWB Number'] # 拼接两个DataFrame,重置索引 df3 = pd.concat([df1, df2], ignore_index=True) # 若需要将NaN显示为空字符串,添加以下代码 df3 = df3.fillna('')
执行后生成的df3会与期望格式一致,新增行仅AWB/AWB Number列有值,其余列显示为空。
内容的提问来源于stack exchange,提问作者Nay Zaw
相关产品推荐
相关产品推荐

