2017-09-25 397 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 
相關問題