【发布时间】:2019-08-07 08:37:58
【问题描述】:
我有(超过)两个数据框:
In [22]: df = pd.DataFrame({'database' : ['db1', 'db2', 'db3']})
In [23]: df1 = pd.DataFrame({'database' : ['db1', 'db2', 'db3']})
In [24]: df2 = pd.DataFrame({'database' : ['db2', 'db3', 'db4']})
In [25]: df1
Out[25]:
database
0 db1
1 db2
2 db3
In [26]: df2
Out[26]:
database
0 db2
1 db3
2 db4
我想要输出的是这种格式的数据框:
Out[45]:
database database
0 db1
1 db2 db2
2 db3 db3
3 db4
我设法以这种格式获得它:
df1.index = df1.database.values.ravel()
df2.index = df2.database.values.ravel()
pd.concat([df1, df2], axis=1).fillna('').reset_index(drop=True)
但我认为必须有比这个带有 ravel() 函数的技巧更好的解决方案。
【问题讨论】:
标签: python pandas join merge concat