python - Python - 如何将 1/0 转换为是/否(在 pandas.DataFrame 中)?
问题描述
在R中,如果我想基于另一个带有1
and0
的列创建一个带有 YES/NO 的新列,下面的代码可以满足我的目的。
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'})
推荐阅读
- javascript - 如何在下拉列表中添加搜索功能
- php - HTML 的日期类型输入是否容易受到 SQL 注入的影响?
- android - Oreo 8.0如何设置通知的声音和振动?
- jsp - 泰语的 Handson 表自动完成严格模式
- laravel - 如何在 Laravel Orchestra Testbench 中访问模型
- autohotkey - 为什么脚本不能正确地从 %SetWidth% 和 %SetHeight% 读取变量数据?
- java - 在从 Java 线程调用的串行端口中未接收到本机 SIGIO 信号
- python - 在 Python 3.5 的同一行中获取 3 个输入
- javascript - 每次执行文件时如何在文件中附加一行?
- c# - 通过 http 将文件写入或复制文件到 .net Core 中的某个位置