我正在尝试从一个熊猫数据框添加一个列到另一个熊猫数据框。
以下是数据帧1:
print (df.head())
ID Name Gender
1 John Male
2 Denver 0
0
3 Jeff Male注意: ID和名称都是索引
以下是数据帧2:
print (df2.head())
ID Appointed
1 R
2
3 SL 注意: ID是这里的索引。
我尝试根据ID将指定的列从df2添加到df1。我尝试插入该列,并从df2复制该列,但指定的列一直返回所有NaN值。到目前为止,我没有任何幸运的建议,将非常感谢。
发布于 2018-03-21 00:38:27
如果我正确理解了您的问题,您应该使用以下命令获得所需的内容:
df1.reset_index().merge(df2.reset_index(), left_on='ID', right_on='ID')
ID Name Gender Appointed
0 1 John Male R
1 2 Denver 0 NaN
2 3 Jeff Male SL或者,作为另一种选择,正如文所指出的,您可以使用join:
df1.join(df2)
Gender Appointed
ID Name
1 John Male R
2 Denver 0 NaN
0 NaN NaN NaN
3 Jeff Male SL发布于 2018-03-21 00:36:24
为两个数据文件重置索引,然后在df1中创建名为'Appointed‘的列,并在其中分配相同的df2列。
重置索引后,两个数据帧都有从0开始的索引。当我们分配列时,它们会根据索引自动对齐,这是pandas数据帧的一个属性
df1.reset_index()
df2.reset_index()
df1['Appointed'] = df2['Appointed']https://stackoverflow.com/questions/49389509
复制相似问题