同时垂直和水平连接DataFrame

时间:2018-09-19 21:45:50

标签: python pandas concatenation

我想同时在两个方向上连接两个df。 这意味着,如果索引不存在,则会创建它。 如果该列不存在,那么也会创建它。

import pandas as pd

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']},
                    index=[0, 1, 2, 3])

df2 = pd.DataFrame({'A': ['A4'],
                    'D': ['D4']},
                    index=[4])

df3 = pd.DataFrame({'A': ['E4'],
                    'F': ['F4']},
                    index=[4])


result = pd.concat([df1, df2, df3])

它给出了:

    A    B    C    D    F
0  A0   B0   C0   D0  NaN
1  A1   B1   C1   D1  NaN
2  A2   B2   C2   D2  NaN
3  A3   B3   C3   D3  NaN
4  A4  NaN  NaN   D4  NaN
4  E4  NaN  NaN  NaN   F4

代替:

    A    B    C    D    F
0  A0   B0   C0   D0  NaN
1  A1   B1   C1   D1  NaN
2  A2   B2   C2   D2  NaN
3  A3   B3   C3   D3  NaN
4  E4  NaN  NaN   D4   F4

0 个答案:

没有答案