2017-10-18 20 views
1

欠損値の条件ロジックに基づいて新しい列を追加します。 if df['bb'] is not null and df['aa']==a, then c else dパンダは、私はこのようなパンダのデータフレームを持って

他の質問に対する回答に基づいて、回答は次のようにする必要があります。

df['ff'] = df.apply(lambda x: x['bb'].isnull(),axis=1) & (x['aa']=='a')

しかし、私はこのようなエラーが出る:

("'str' object has no attribute 'isnull'", 'occurred at index 0')

答えて

2

私は、次のベクトル化のアプローチを使用したい:

In [47]: df['ff'] = np.where(df['bb'].notnull() & df['aa'].eq('a'), 'c', 'd') 

In [48]: df 
Out[48]: 
    aa bb cc dd ee ff 
0 a a b b foo c 
1 a b a a foo c 
2 b NaN a a bar d 
3 b b b b bar d 
関連する問題