2016-08-30 17 views

答えて

3

あなたはisinと最後fillnalocを使用することができます。

df.loc[df.Col2.isin(['Z','X']), 'Col3'] = 'J' 
df.loc[df.Col2 == 'Y', 'Col3'] = 'K' 
df['Col3'] = df.Col3.fillna(df.Col1) 
print (df) 
    Col1 Col2 Col3 
1 A Z J 
2 B Z J 
3 B X J 
4 C Y K 
5 C W C 
+0

私のか、別の答えは参考になりました場合は、[受け入れる]を忘れないでください(http://meta.stackexchange.com/a/5235/295067)それ。ありがとう。 – jezrael

0

この使用np.whereをお試しください:outcome = np.where(condition, true, false)

df["Col3"] = np.where(df['Col2'].isin(['Z','X']), "J", np.where(df['Col2'].isin(['Y']), 'K', df['Col1'])) 

    Col1 Col2 Col3 
1 A Z J 
2 B Z J 
3 B X J 
4 C Y K 
5 C W C 
関連する問題