是否有一种很好的方法可以连接DataFrame中的列不常规的DataFrame列表?
期望的结果是匹配所有匹配的列,但保留那些没有匹配的列。您希望保留不匹配列的原因是因为虽然列表中第1个和第2个数据帧之间的给定列可能不匹配,但第1个和第3个之间可能存在匹配。因此,在第一次缺乏匹配时过早丢弃将不是理想的。
例如:
print list(datalist[0].columns)
>>>[u'1', u'2', u'3']
print list(datalist[1].columns)
>>>[u'1', u'2', u'4']
print list(datalist[2].columns)
>>>[u'2', u'3', u'4']
输出将是一个数据帧,如(在这里风格表示):
1 2 3 -
1 2 - 4
- 2 3 4
答案 0 :(得分:1)
data=pd.concat(datalist,join='outer', axis=0, ignore_index=True)
这很有效。我最初的印象是连接="外部"应用的参数只是直接上下追加而不考虑列名。实际上,当join =" outer"如果应用了参数,它将组合它可以匹配的列,但是将所有不匹配的列保留在DF的一侧,这正是所期望的。希望这有助于其他人。