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

标签 python r pandas

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/

相关文章:

python - 如何将函数应用于两列 Pandas 数据框

python - 如何使用索引来调用 pandas 数据框的标签

python - 来自 tensorflow 的用于图像分割的 sigmoid_cross_entropy 损失函数

r - 为什么我不能计算稀疏矩阵 (dgCMatrix) 的叉积?

r - 求解 R 中的简单方程

python - 根据有条件的另一个系列更新系列中的值

python - 用多个定界符(逗号、分号、/)拆分字符串?

python - 如何从 paramiko 的标准输出中删除坏字符

python - GAE Python NDB .put 在开发上不同步(但在生产中有效)?

r - 是否有等效于 unlist() 的 S4?