Create a column to categorize numerical values in python(创建一列来对Python中的数值进行分类)
本文介绍了创建一列来对Python中的数值进行分类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个名为df的pythonDataFrame,它将客户的BMI作为数字包含在一个名为‘BMI’的列中。我想在数据框中添加一个名为‘BMI_CAT’的新列,它是基于数值的BMI类别(即:<;18.5表示体重不足,18.5到24.9表示健康,依此类推)。
这就是我尝试的方法,但不起作用。它不喜欢使用"for"。
df['bmi_cat'] = for i in df['bmi'] :
if i < 18.5 :
df['bmi_cat'] == 'underweight'
elif i >= 18.5 and i < 25 :
df['bmi_cat'] == 'healthy'
elif i >= 25 and i < 30 :
df['bmi_cat'] == 'overweight'
else :
df['bmi_cat'] == 'obese'
我正在学习python……如果您能提供任何帮助,我将不胜感激!
推荐答案
您有一个条件列表和相应值可供选择,以便您可以使用np.select:
import numpy as np
bmi = df["bmi"]
cond_list = [bmi < 18.5, bmi < 25, bmi < 30, bmi >= 30]
choice_list = ["underweight", "healthy", "overweight", "obese"]
df["bmi_cat"] = np.select(cond_list, choice_list)
它从左到右检查cond_list中的条件,只要找到匹配项,就在choice_list中查找并分配该值。
这篇关于创建一列来对Python中的数值进行分类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:创建一列来对Python中的数值进行分类
基础教程推荐
猜你喜欢
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
