Pandas—在数据框架的列之间移动数据


df1
Reference_Code   Last_Price   Price_Now
B0002EH2X2       NaN          9.99
B0075DRIAK       NaN          19.99
B0083F2XDQ       NaN          29.99
B009AS5VW0       NaN          39.99
df2
Reference_Code   Price_Now
B0002EH2X2       49.99
B0075DRIAK       19.99
B0083F2XDQ       29.99
B009AS5VW0       9.99

我想将df1中的Price_Now中的值移动到df1中的Last_Price列中,其中价格与df2不同。在上面的例子中,我希望输出是;

df1
Reference_Code   Last_Price   Price_Now
B0002EH2X2       9.99         49.99
B0075DRIAK       NaN          19.99
B0083F2XDQ       NaN          29.99
B009AS5VW0       39.99        9.99

我试着用熊猫,但让自己有点旋转。数据集比上面显示的表大得多

做一个地图:

s = df1['Reference_Code'].map(df2.set_index('Reference_Code')['Price_Now'])
mask = (s!=df1['Price_Now'])
df1['Last_Price'] = df1['Price_Now'].where(mask)
df1['Price_Now'] =  s.where(mask, df['Price_Now']

输出:

Reference_Code  Last_Price  Price_Now
0     B0002EH2X2        9.99      49.99
1     B0075DRIAK         NaN      19.99
2     B0083F2XDQ         NaN      29.99
3     B009AS5VW0       39.99       9.99

相关内容

  • 没有找到相关文章

最新更新