仅根据数据框中的列名设置值

时间:2018-06-21 07:00:16

标签: python pandas

    max_speed  shield  new
1   1          2       3
2   4          5       6

我得到了这个数据框,我想根据一些列名分配一个值。 像这样df.loc [df ['max_speed'] == 1,df ['shield'] == 2,新] = 10 然后我将获得新的数据框:

    max_speed  shield  new
 1  1          2       10
 2  4          5       6

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:2)

你很近。

df.loc[(df.max_speed == 1) & (df.shield == 2), "new"] = 10

有关更多信息,请参见here

答案 1 :(得分:2)

如果不满足您的条件,则要更改值,请使用where

df['new'] = np.where((df['max_speed']==1) & (df['shield']==2) , 10, df['new'])