【问题标题】:Pandas replace DataFrame values [duplicate]Pandas 替换 DataFrame 值
【发布时间】:2019-08-15 22:38:45
【问题描述】:

我正在尝试根据另一个 df 中的相应索引值对替换 df 中列的值。

例如:

主df:

d = {'var1': [A, B, A, B]}
df = pd.DataFrame(data=d)
df
    var1   
0     A     
1     B     
2     A     
3     B     

具有新值的数据框:

df2  val1

A     1     
B     2     

结果:

df
    var1   
0     1    
1     2    
2     1   
3     2     

我在想我可以将 var1 设置为临时索引,然后加入 df2,然后用 val1 替换 var1 列。不确定是否有更好的方法来做到这一点?

【问题讨论】:

  • 使用mapdf['var1'].map(df2['val1'])

标签: python pandas dataframe


【解决方案1】:

使用df.set_index()series.map()

df.var1=df.var1.map(df_new.set_index('df2')['val1'])
print(df)

   var1
0     1
1     2
2     1
3     2

【讨论】:

  • 也许可以尝试一些新的东西df2.val1.get(df.var1)
  • @Wen-Ben 谢谢。 :) 我会在get() 上学习更多内容,谢谢你教我。 :)
猜你喜欢
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 2017-07-04
  • 2014-06-12
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
相关资源
最近更新 更多