从具有不同索引的另一个数据帧在pandas数据帧中添加新列

2024-05-15 05:09:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的原始数据帧。 Original dataframe 这是我的第二个包含一列的数据帧。 second datframe 我想把第二个数据帧的列添加到末尾的原始数据帧。两个数据帧的索引都不同。 我确实喜欢这个

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

结果列已添加,但所有值均为NaN Added result

如何添加有值的列


Tags: 数据df原始数据resultnanfeaturefile末尾
1条回答
网友
1楼 · 发布于 2024-05-15 05:09:34

假设数据帧的大小相同,可以将RESULT_df['RESULT'].values分配给原始数据帧。这样,就不必担心索引问题。

# pre 0.24
feature_file_df['RESULT'] = RESULT_df['RESULT'].values
# >= 0.24
feature_file_df['RESULT'] = RESULT_df['RESULT'].to_numpy()

最小代码示例

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

df2

           C
11 -0.140670
12  1.496007
13  0.263425
14 -0.557958
15 -0.018375

我们先试试直接分配。

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

现在,分配由.values(或者对于pandas版本为.to_numpy()>;0.24)返回的数组。.values返回一个没有索引的numpy数组。

df2['C'].values 
array([-0.141,  1.496,  0.263, -0.558, -0.018])

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

相关问题 更多 >

    热门问题