附加两个具有相同列、不同顺序的数据框

Appending two dataframes with same columns, different order(附加两个具有相同列、不同顺序的数据框)
本文介绍了附加两个具有相同列、不同顺序的数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个 pandas 数据框.

I have two pandas dataframes.

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 看起来像:

I simply want to join such that the final DF will look like:

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

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

As you can see the column names of both original DF's are the same, but not in the same order. Also there is no join in a column.

推荐答案

你也可以使用 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.concat.DataFrame.append 包含处理各种类型输入的代码,例如系列、元组、列表和字典.如果你给它传递一个DataFrame,它会直接传递给pd.concat,所以使用pd.concat会更直接一些.

Under the hood, DataFrame.append calls pd.concat. DataFrame.append has code for handling various types of input, such as Series, tuples, lists and dicts. If you pass it a DataFrame, it passes straight through to pd.concat, so using pd.concat is a bit more direct.

这篇关于附加两个具有相同列、不同顺序的数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)