2017-09-25 166 views
0

这是我的原始数据框。 Original dataframe 这是我第二个包含一列的数据帧。 second datframe 我想将第二个数据帧的列添加到最后的原始数据帧。两个数据帧的索引都不相同。 我不喜欢得到了添加了这个从具有不同索引的另一个数据帧中添加熊猫数据帧中的新列

feature_file_df['RESULT']=RESULT_df['RESULT'] 

结果列,但所有值都为NaN的 Added result

如何与价值

+0

两个数据帧的长度是否匹配? 'len(feature_file_df)== len(RESULT_df)'? – Psidom

+1

'feature_file_df ['RESULT'] = RESULT_df ['RESULT']。values'调用'values'属性。 –

回答

2

假设你dataframes的尺寸都是一样的,你可以指定添加列将RESULT_df['RESULT'].values添加到您的原始数据框中。这样,您不必担心索引问题。

feature_file_df['RESULT'] = RESULT_df['RESULT'].values 

设置

df 
      A   B 
0 -1.202564 2.786483 
1 0.180380 0.259736 
2 -0.295206 1.175316 
3 1.683482 0.927719 
4 -0.199904 1.077655 
5 -1.094666 -0.377783 
6 0.351193 -1.045290 
7 -0.013174 1.525027 
8 -0.155707 -0.389500 
9 -0.295518 0.177683 

df2 

      C 
11 -0.140670 
12 1.496007 
13 0.263425 
14 -0.557958 
15 -0.018375 
16 1.044098 
17 -0.412894 
18 1.187938 
19 1.989982 
20 0.502832 

让我们先尝试直接分配。

df['C'] = df2['C'] 
df 

      A   B C 
0 -1.202564 2.786483 NaN 
1 0.180380 0.259736 NaN 
2 -0.295206 1.175316 NaN 
3 1.683482 0.927719 NaN 
4 -0.199904 1.077655 NaN 
5 -1.094666 -0.377783 NaN 
6 0.351193 -1.045290 NaN 
7 -0.013174 1.525027 NaN 
8 -0.155707 -0.389500 NaN 
9 -0.295518 0.177683 NaN 

现在,分配.values属性。 .values返回一个没有索引的numpy数组。

df2['C'].values 
array([-0.141, 1.496, 0.263, -0.558, -0.018, 1.044, -0.413, 1.188, 
     1.99 , 0.503]) 

df['C'] = df2['C'].values 
df 

      A   B   C 
0 -1.202564 2.786483 -0.140670 
1 0.180380 0.259736 1.496007 
2 -0.295206 1.175316 0.263425 
3 1.683482 0.927719 -0.557958 
4 -0.199904 1.077655 -0.018375 
5 -1.094666 -0.377783 1.044098 
6 0.351193 -1.045290 -0.412894 
7 -0.013174 1.525027 1.187938 
8 -0.155707 -0.389500 1.989982 
9 -0.295518 0.177683 0.502832 
相关问题