首页 > 解决方案 > 使用 pandas 根据来自另一个数据帧的行值填充列值

问题描述

我基本上有这个

   first    
0   bar 
1   bar 
2   foo 
3   foo 
   bar foo
0   a   b

我想将数据帧 2 中的值插入数据帧 1,所以最终结果应该是这样的

   first    
0   a   
1   a   
2   b   
3   b   

标签: pythonpandasdataframe

解决方案


您可以replace像这样简单地使用:

>>> df1.replace(df2.transpose()[0])
    first
0     a
1     a
2     b
3     b

如果要检查效率:

%timeit df1.replace(df2.transpose()[0])
711 µs ± 18.7 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

推荐阅读