2016-09-17 5 views
1

たとえば、私は名前と色を含む果物データセットを持っています。私が選択した果物の名前に基づいて色の列の値を変更するにはどうすればよいですか?列の値を選択的に変更する。 Python Pandas

 Name   Color 
     Apple   NaN 
     Pear   Green 
     Pear   Green 
     Banana  Yellow 
     Watermelon Green 

私は大まかなアイデアを持っていますが、どのようにコード化するのか分かりません。

 df[Name] == Apple then df[color] == Red 
+2

サンプルケースでは、あなたが行うことができます提供: 'df.locを[ df ['Name'] == 'Apple'、 'C​​olor'] = '赤' –

答えて

2

一つの方法は、.apply()を使用することです:

In [83]: df 
Out[83]: 
     Name Color 
0  Apple  NaN 
1  Pear Green 
2  Pear Green 
3  Banana Yellow 
4 Watermelon Green 

In [84]: df['Color'] = df.apply(lambda x: 'Red' if x.Name == 'Apple' else x.Color, 1) 

In [85]: df 
Out[85]: 
     Name Color 
0  Apple  Red 
1  Pear Green 
2  Pear Green 
3  Banana Yellow 
4 Watermelon Green 

もう一つの簡単な方法は、.ixを使用することです:

In [94]: df 
Out[94]: 
     Name Color 
0  Apple  NaN 
1  Pear Green 
2  Pear Green 
3  Banana Yellow 
4 Watermelon Green 

In [95]: df.ix[df.Name == 'Apple', 'Color'] = 'Red' 

In [96]: df 
Out[96]: 
     Name Color 
0  Apple  Red 
1  Pear Green 
2  Pear Green 
3  Banana Yellow 
4 Watermelon Green 
関連する問題