连接两个pandas DataFrames而不重复行ID?

时间:2016-06-27 18:09:50

标签: python pandas dataframe

我有两个pandas DataFrames。它们具有相同的列,因此我想从每个列中获取数据并将其放入更大的DataFrame。问题是标识每行的数字是逐字复制的,而我希望它能够智能地更新。

这就是我所拥有的:

import pandas as pd

df_one = pd.DataFrame([
    {'animal': 'cat', 'color': 'black'},
    {'animal': 'dog', 'color': 'brown'}])
df_two = pd.DataFrame([
    {'animal': 'fish', 'color': 'red'},
    {'animal': 'bird', 'color': 'blue'}])

print(pd.DataFrame([df_one, df_two]))

哪个输出:

  animal  color
0 cat     black
1 dog     brown
0 fish    red
1 bird    blue

我想要的输出是:

  animal  color
0 cat     black
1 dog     brown
2 fish    red
3 bird    blue

2 个答案:

答案 0 :(得分:3)

concatignore_index=True

一起使用
>>> pandas.concat([df_one, df_two], ignore_index=True)
  animal  color
0    cat  black
1    dog  brown
2   fish    red
3   bird   blue

答案 1 :(得分:1)

我喜欢@BrenBarn的回答。您也可以这样做:

>>> df_concat = pd.concat([df_one, df_two]).reset_index(drop=True)
>>> df_concat
  animal  color
0    cat  black
1    dog  brown
2   fish    red
3   bird   blue