2017-06-19 163 views
1

我想僅將名稱列中的名稱更改爲default,以便僅符合特定條件的行(name == Noneweight == 1)。正如你所看到的重量可以是10,但我不希望更改名字的10砝碼這裏是一個小例子,數據幀:如何更改滿足熊貓特定條件的行的值?

post name weight response 
blah1 None  1  yes 
blah2 None  10  no 
blah3 Annie  1  yes 

我怎麼能以簡單的方式實現這一目標?

回答

4

快速,紮實,穩健的熊貓式的解決方案:

df.loc[(df.name == None) & (df.weight == 1), 'name'] = 'defaut' 
+1

這是一個很好的答案。 – piRSquared

2
np.where((df['name'] == 'None') & (df['weight'] == 1), 'default', df['name']) 
3

您可以用填充在'name'列的版本update數據幀。

df.update(df.name[df.weight.eq(1)].fillna('default')) 

df 

    post  name weight response 
0 blah1 default  1  yes 
1 blah2  None  10  no 
2 blah3 Annie  1  yes 
+1

這是一個很好的答案 –

相關問題