这个问题是 Pandas conditional creation of a series/dataframe column 的延伸。 如果我们有这个数据框:
Col1 Col2
1 A Z
2 B Z
3 B X
4 C Y
5 C W
我们想做相当于:
if Col2 in ('Z','X') then Col3 = 'J'
else if Col2 = 'Y' then Col3 = 'K'
else Col3 = {value of Col1}
我怎样才能做到这一点?
最佳答案
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
关于python - Pandas 有条件创建新的数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39226656/