首页 > 解决方案 > 无法将 pandas DataFrame 附加到另一个 DataFrame

问题描述

我有两个熊猫数据框:dftemp_df. 有df一个标题,但temp_df没有它。

df =

   IdTravel   TravelDate               IdProfesional        InformAsign
0  8178429    2017-10-25 11:25:16.550  NaN                  NaN
1  8180074    2017-10-25 13:49:09.640  NaN                  NaN
2  8180287    2017-10-25 14:28:04.000  123                  ABC
3  8182810    2017-10-26 09:55:14.930  NaN                  NaN
4  8182849    2017-10-26 09:59:11.187  NaN                  NaN

temp_df =

   0          1                        2                    3
0  4189915    2017-10-25 13:49:09.640  NaN                  NaN
1  4100334    2017-10-25 14:28:04.000  111                  ABC
2  4102833    2017-10-26 09:55:14.930  NaN                  NaN
3  4102845    2017-10-26 09:59:11.187  NaN                  NaN

我想附加temp_dfdf. 预期结果:

   IdTravel   TravelDate               IdProfesional        InformAsign
0  8178429    2017-10-25 11:25:16.550  NaN                  NaN
1  8180074    2017-10-25 13:49:09.640  NaN                  NaN
2  8180287    2017-10-25 14:28:04.000  123                  ABC
3  8182810    2017-10-26 09:55:14.930  NaN                  NaN
4  8182849    2017-10-26 09:59:11.187  NaN                  NaN
5  4189915    2017-10-25 13:49:09.640  NaN                  NaN
6  4100334    2017-10-25 14:28:04.000  111                  ABC
7  4102833    2017-10-26 09:55:14.930  NaN                  NaN
8  4102845    2017-10-26 09:59:11.187  NaN                  NaN

我试过了:

result = df.append(temp_df)

我期待得到一个有 9 行的新数据框。但相反,我得到了一个result9 行 8 列的数据框。

另外,我试过这个,但得到了同样的错误结果:

result = pd.concat([df,temp_df],axis=1,ignore_index=True) # and axis=0

标签: pythonpandas

解决方案


您可以重命名列temp_df以匹配原始df

temp_df.columns = ['IdTravel', 'TravelDate', 'IdProfesional', 'InformAsign']
result = df.append(temp_df).reset_index(drop=True)
print(result)

印刷:

   IdTravel               TravelDate  IdProfesional InformAsign
0   8178429  2017-10-25 11:25:16.550            NaN         NaN
1   8180074  2017-10-25 13:49:09.640            NaN         NaN
2   8180287  2017-10-25 14:28:04.000          123.0         ABC
3   8182810  2017-10-26 09:55:14.930            NaN         NaN
4   8182849  2017-10-26 09:59:11.187            NaN         NaN
5   4189915  2017-10-25 13:49:09.640            NaN         NaN
6   4100334  2017-10-25 14:28:04.000          111.0         ABC
7   4102833  2017-10-26 09:55:14.930            NaN         NaN
8   4102845  2017-10-26 09:59:11.187            NaN         NaN

推荐阅读