如何基于Satisfaction_level字段生成新列:<0.5="Left"; >0.5="Not Left"
嗨,这事儿好办!我给你准备了两种常用工具的解决方案,你按需选用就行:
Python Pandas 解决方案
如果用Python处理数据,Pandas有两种简单方法能快速搞定:
方法1:用np.where(高效批量处理)
import pandas as pd import numpy as np # 假设你的数据集存在名为df的DataFrame中 df['Status'] = np.where(df['Satisfaction_level'] < 0.5, 'Left', 'Not Left')
这个方法会快速遍历整个字段,满足<0.5就赋值Left,其余情况赋值Not Left,适合大数据集。
方法2:用apply(逻辑更直观,适合后续扩展)
import pandas as pd df['Status'] = df['Satisfaction_level'].apply(lambda x: 'Left' if x < 0.5 else 'Not Left')
通过lambda函数对每个字段值做判断,逻辑一目了然,后续如果要加更复杂的分类规则也容易调整。
SQL 解决方案
如果数据存在数据库里,直接用SQL语句就能完成操作:
-- 先新增Status列 ALTER TABLE your_table_name ADD COLUMN Status VARCHAR(20); -- 根据条件给新列赋值 UPDATE your_table_name SET Status = CASE WHEN Satisfaction_level < 0.5 THEN 'Left' ELSE 'Not Left' END;
记得把your_table_name替换成你实际的表名哦。
⚠️ 小提醒:当前规则没覆盖Satisfaction_level等于0.5的情况,你可以根据需求调整条件,比如改成<=0.5或者>=0.5来归类~
内容的提问来源于stack exchange,提问作者Ayumi Jack
相关产品推荐
相关产品推荐

