在R中,如果我想基于另一列1
创建一个带有YES/NO的新列和0
,以下代码满足我的目的。
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'] = ??????
提前致谢。 (越简单越好)
最佳答案
您可以使用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'})
关于Python - 如何将 1/0 转换为是/否(在 pandas.DataFrame 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50085092/