Python 如何在列中分组数据
这是我的数据框架,我试图实现的是,将体验列(0-5,5-10,10-20)分组在列中Python 如何在列中分组数据,python,pandas,Python,Pandas,这是我的数据框架,我试图实现的是,将体验列(0-5,5-10,10-20)分组在列中 gender education_level experience training_hours educatn_levl 0 Male Graduate 9 21 0 1 Female Graduate 5 98 0 2 Male
gender education_level experience training_hours educatn_levl
0 Male Graduate 9 21 0
1 Female Graduate 5 98 0
2 Male High School 0 15 1
3 Male Masters 11 39 2
4 Male Graduate 0 72 0
这是“体验”栏中呈现的独特价值
df2['experience'].unique()
array(['9', '5', '0', '11', '10', '14', '3', '20', '8', '4', '13', '2',
'6', '7', '1', '19', '15', '16', 0, '17', '18', '12'], dtype=object)
您可以使用pd.cut 考虑以下示例:
df
A B
0 0.039036 644.0
1 0.452201 579.0
2 0.123197 375.0
3 0.158165 799.0
4 0.469882 711.0
.. ... ...
95 0.062099 379.0
96 0.329982 353.0
97 0.607003 668.0
98 0.782589 730.0
99 0.189787 325.0
bins = [x for x in range(0,int(df['B'].max()),100)]
df['interval'] = pd.cut(df['B'], bins)
df
A B interval
0 0.039036 644.0 (600, 700]
1 0.452201 579.0 (500, 600]
2 0.123197 375.0 (300, 400]
3 0.158165 799.0 (700, 800]
4 0.469882 711.0 (700, 800]
.. ... ... ...
95 0.062099 379.0 (300, 400]
96 0.329982 353.0 (300, 400]
97 0.607003 668.0 (600, 700]
98 0.782589 730.0 (700, 800]
99 0.189787 325.0 (300, 400]
[100 rows x 3 columns]
您可以使用pd.cut 考虑以下示例:
df
A B
0 0.039036 644.0
1 0.452201 579.0
2 0.123197 375.0
3 0.158165 799.0
4 0.469882 711.0
.. ... ...
95 0.062099 379.0
96 0.329982 353.0
97 0.607003 668.0
98 0.782589 730.0
99 0.189787 325.0
bins = [x for x in range(0,int(df['B'].max()),100)]
df['interval'] = pd.cut(df['B'], bins)
df
A B interval
0 0.039036 644.0 (600, 700]
1 0.452201 579.0 (500, 600]
2 0.123197 375.0 (300, 400]
3 0.158165 799.0 (700, 800]
4 0.469882 711.0 (700, 800]
.. ... ... ...
95 0.062099 379.0 (300, 400]
96 0.329982 353.0 (300, 400]
97 0.607003 668.0 (600, 700]
98 0.782589 730.0 (700, 800]
99 0.189787 325.0 (300, 400]
[100 rows x 3 columns]
感谢您在问题中展示您的尝试,请您在问题中也发布预期输出的示例,以便更好地理解您的问题。我想要一个类似于0-5、5-10的专栏,10-20,然后我想分配经验列的值,基于这个组假设我选择经验9,那么它将分配给的组是5-10,谢谢你在问题中展示了你的尝试,为了更好地理解你的问题,你可以在你的问题中也发布预期结果的样本吗?我想要一个类似于0-5,5-10的专栏,10-20,然后我想根据组分配经验列的值,假设我选择经验9,那么它将分配给的组是5-10TypeError:“>=”在“str”和“int”的实例之间不受支持。我收到这个错误,可能是因为你的经验列是对象类型。请尝试将其转换为整数或浮点。感谢buddy的帮助,它解决了TypeError:“>=”在“str”和“int”的实例之间不受支持。我收到这个错误,可能是因为你的经验列是对象类型。试着把它转换成整数或浮点数。谢谢你的帮助,它成功了