我有以下2个简单的数据帧。
DF1:
DF2:
我想通过使用类似的东西将df2添加到df1:
df1["CF 0.3"]=df2
但是,这只会添加df1和df2中的索引相同的值。我想要一种方法可以添加一个列,以便自动添加缺失的索引,如果没有该索引的关联值,则填充NaN。像这样:
我这样做的方式是写作 DF1 = df1.add(DF2)
这会自动添加缺失的索引,但所有值都是NaN。然后我通过写:
手动填充值df1["CF 0.1"]=dummyDF1
df1["CF 0.3"]=dummyDF2
有更简单的方法吗?我有一种感觉,我错过了一些东西。
我希望你理解我的问题:)
答案 0 :(得分:0)
使用concat
请参阅此documentation以获取详细帮助。
以下是基于文档的示例:
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({'X': ['A4', 'A5', 'A6', 'A7'],
'XB': ['B4', 'B5', 'B6', 'B7'],
'XC': ['C4', 'C5', 'C6', 'C7'],
'XD': ['D4', 'D5', 'D6', 'D7']},
index=[4, 5, 6, 7])
df3 = pd.DataFrame({'YA': ['A8', 'A9', 'A10', 'A11'],
'YB': ['B8', 'B9', 'B10', 'B11'],
'YC': ['C8', 'C9', 'C10', 'C11'],
'YD': ['D8', 'D9', 'D10', 'D11']},
index=[8, 9, 10, 11])
#To get the desired result you are looking for you need to reset the index.
#With the dataframes you have you may not be able to merge as well
#Since merge would need a common index or column
frames = [df1.reset_index(drop=True), df2.reset_index(drop=True), df3.reset_index(drop=True)]
df4 = pd.concat(frames, axis=1)
print df4
答案 1 :(得分:0)
请阅读文档 使用concat或合并或加入
答案 2 :(得分:0)
查看concat函数,它可以完成您所需的here。