为了账号安全,请及时绑定邮箱和手机立即绑定

如果整数值满足特定条件,则替换为数据框的列

如果整数值满足特定条件,则替换为数据框的列

qq_笑_17 2023-02-22 15:41:44
Age我需要按在数据框上替换的某些年龄组对它们进行分组,而不是使用数字import pandas as pd# intialise data of lists. data = {'Name':['Tom', 'nick', 'krish', 'jack','Ann','James'],         'Age':[20, 21, 45, 58,34,60]}   # Create DataFrame df = pd.DataFrame(data)这是我试过的:if df['Age'] < 20:    df['Age']= df['Age'].replace([<20],'<20')if df['Age'] >= 20 & >40:    df['Age']= df['Age'].replace([>=20&<40],'>=20&<40')if df['Age'] >=40:    df['Age']= df['Age'].replace([>=40],'>=40')
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

使用np.select(setofconditions, matchingchoices)


import numpy as np

c1=df['Age'] < 20

c2=df['Age'].between(20,40)

c3=df['Age'] >=40

cond=[c1,c2,c3]

choice=['<20','>=20&<40','>=40']

df['agerange']=np.select(cond,choice)


     Name  Age  agerange

0    Tom   20  >=20&<40

1   nick   21  >=20&<40

2  krish   45      >=40

3   jack   58      >=40

4    Ann   34  >=20&<40

5  James   60      >=40


查看完整回答
反对 回复 2023-02-22
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号