【问题标题】:Updating value in column [duplicate]更新列中的值[重复]
【发布时间】:2021-01-23 00:31:29
【问题描述】:

我需要更新一个名为 Value 的列的一些信息:

Value Home
12     123
30     124
21     124
21     99

如果 Home 的值为 124,我想添加到 Value 0.5。我正在考虑使用 .loc 来选择行,但我需要了解如何更新该值。我的预期结果应该是

Value Home
12     123
30.5   124
21.5   124
21     99

感谢任何提示。

【问题讨论】:

  • df['Value'] = np.where(df['Home'] == 124, df['Value'] + 0.5, df['Value'])

标签: python pandas


【解决方案1】:
df.loc[df['Home']==124, 'Value'] += .5

【讨论】:

  • 谢谢你们。请问这个解决方案是否也适用于基于不同列的另一个条件(例如,如果属性大于 20)?
  • @still_learning 确定:df.loc[(df['Home']==124) & (df['Property'] > 20), 'Value']+=5
【解决方案2】:

使用掩码

mask = (df.Home == 124)
df.loc[mask,'Value'] = df.loc[mask,'Value'] + 0.5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2011-11-19
    • 2012-07-03
    相关资源
    最近更新 更多