数据帧 - 为相应的索引赋值



我想通过将值分配给相应的索引来向现有数据框添加一列值。

这是我的数据框df

     ID
 0   A    
 1   B 
 2   C

我想将Value列附加到其中,其中

values = [2, 5]
indexes = [1, 2]

因此,新数据框应如下所示:

     ID Value
 0   A    
 1   B   2
 2   C   5

我应该怎么做?谢谢。

您可以使用

loc

df.loc[indexes , 'Value'] = values
df

    ID  Value
0   A   NaN
1   B   2.0
2   C   5.0
df.merge(pd.DataFrame({'Value': values}, index=indexes), 
         left_index=True, 
         right_index=True, 
         how='left')

您可以从values创建一个数据帧,并将其合并到原始数据index,实质上是执行左联接。

或者,首先使用组合,编写时间更短

df.combine_first(pd.DataFrame({'Value': values}, index=indexes))

最新更新