如何筛选数据框并更新特定单元格的选择性行

时间:2019-11-22 16:25:25

标签: python pandas dataframe

当另一列上的特定条件通过时,我想更新DF中的特定列。这是我正在尝试的方法,但它给出了错误

train[train['Rain]'==1]['Price']=100

因此,对于Rain列为1的所有行,对于该行,price列应设置为100,是否可以给出一个通过位置和不使用位置功能的示例。

2 个答案:

答案 0 :(得分:1)

您可以在以下三个选项中使用

train.loc[train['Rain'] == 1, ['Price']] = 100

OR

import numpy as np
train['Price'] = np.where(train['Rain'] == 1, 100,train['Price'])

或使用'at'运算符

train.at[train['Rain'] == 1, ['Price']] = 100

希望有帮助

答案 1 :(得分:0)

使用Dataframe.loc

train.loc[train['Rain'] == 1, ['Price']] = 100