【发布时间】:2023-03-08 13:08:01
【问题描述】:
我需要将它们按在数据框上替换的特定年龄组进行分组,而不是在数字上使用 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')
【问题讨论】:
-
df['Age2'] = pd.cut(df['Age'], bins=[-np.inf, 20, 40, np.inf], labels=['<20', '20-40', '>=40'], right=False)将在一行中完成。 -
谢谢你好心的陌生人,就这样!
-
糟糕,忘记在我之前的评论中添加
right=False参数。但这会做到。如果有帮助,请考虑对重复帖子中的答案进行投票。