python - append 两个具有相同列、不同顺序的数据框

标签 python join pandas append

我有两个 pandas 数据框。

noclickDF = DataFrame([[0, 123, 321], [0, 1543, 432]],
                      columns=['click', 'id', 'location'])
clickDF = DataFrame([[1, 123, 421], [1, 1543, 436]],
                      columns=['click', 'location','id'])

我只是想加入这样最终的 DF 看起来像:

click  |  id   |   location
0         123        321
0         1543       432
1         421        123
1         436       1543

如您所见,两个原始 DF 的列名相同,但顺序不同。列中也没有连接。

最佳答案

您也可以使用 pd.concat :

In [36]: pd.concat([noclickDF, clickDF], ignore_index=True)
Out[36]: 
   click    id  location
0      0   123       321
1      0  1543       432
2      1   421       123
3      1   436      1543

在底层,DataFrame.append 调用 pd.concatDataFrame.append 包含处理各种类型输入的代码,例如系列、元组、列表和字典。如果你给它传递一个DataFrame,它会直接传递给pd.concat,所以使用pd.concat会更直接一些。

关于python - append 两个具有相同列、不同顺序的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21435176/

相关文章:

python - 同一个图中的多个 matplotlib 图 + 到 pdf-Python

python - Python 中根据创建日期对文件列表进行排序

python - 如何在python中找到中间的数字

python - 403 禁止 - cloud_storage_bucket get_media

php - 从两个已经连接的表中查询

python-3.x - Pandas 插值给出奇怪的结果

php - php如何使用条件获取多个表列值

sql - JOIN (SQL) 的 COALESCE 与 OR 条件

python - Dataframe:从单个 ID 中提取多个 parent 并计算出现次数

python - 将列转换为标题行