Python - 如何将1/0转换为yes / no(在pandas.DataFrame中)?

时间:2018-04-29 09:20:15

标签: python r pandas

R 中,如果我想根据另一列10创建一个YES / NO的新列,则以下代码符合我的目的。< / p>

df <- data.frame(alpha = c(50, 51, 52), beta = c(1,0,1))
df$gamma <- factor(df$beta, label = c('no','yes'))

  alpha beta gamma
1    50    1   yes
2    51    0    no
3    52    1   yes

但我不知道如何在 Python 中做同样的事情。任何人都可以完成以下代码或建议不同的方法吗?

import pandas as pd
df = pd.DataFrame({'alpha': [50, 51, 52], 'beta': [1,0,1]})
df['gamma'] = ??????

提前致谢。 (越简单越好)

1 个答案:

答案 0 :(得分:2)

您可以使用pd.Series.map,它接受​​字典输入:

import pandas as pd

df = pd.DataFrame({'alpha': [50, 51, 52], 'beta': [1,0,1]})

df['gamma'] = df['beta'].map({True: 'yes', False: 'no'})