python - Pandas:如何根据现有的字符串变量为新变量赋值?
问题描述
我正在研究一个由癌症疾病不同代码的变量组成的数据框。这些代码由 5 个数字或“DC”后跟 2-3 个数字(字符串变量)组成。我想创建一个新变量 (cancer_type),它从疾病代码变量 (cancer_code) 中获取值并将类别(例如值 1 到 12)分配给cancer_type。
它应该是这样的:
# pseudo-code
if df[cancer_code] == ("1400-1499" or "DC00-DC148") -> df[cancer_group] = 1
if df[cancer_code] == ("1500-1599" or "DC150-159") -> df[cancer_group] = 2
我发现了许多关于如何在整数/浮点变量上使用条件的示例,但在字符串的“范围”上却没有。有什么简单的方法可以做到这一点?我正在使用熊猫。
解决方案
您可以创建一个mapping dict
然后使用它mapping_dict
来映射值
map_dict ={"1400-1499": 1, "DC00-DC148" : 1 , "1500-1599": 2, "DC150-159" :2}
df['cancer_group'] = df.cancer_code.map(map_dict)
推荐阅读
- c# - 如何从 Action Method 中进行 API Rest 调用?
- java - Spring Security SAML:从 saml2p:Response 中提取属性作为用户属性
- oracle - 如何在整个会话中用另一个字符串替换指定的子字符串
- c++ - 如何在 Visual Studio 2019 中更改 %(DisableSpecificWarnings)
- mysql - MySql DB 连接每 5 分钟丢失一次,大约有一两个连接
- docker - Container From Scratch 的解释
- php - PHP XAMPP mail() 已发送,但未发送到邮箱
- python - 来自 tensorflow.examples.tutorials.mnist 不在 Google Colab 中工作
- jquery - Bootstrap-3 不工作:它在一台笔记本电脑上工作,但在另一台笔记本电脑上不工作。为什么会这样?
- python - nargs 输入的 argparse 类型验证