如何正确将熊猫数据框中的列装箱

时间:2018-12-10 01:21:42

标签: python pandas binning

全部

下面是我的数据集的head。我想对我的BMI列进行分类,以使范围19-24为正常,25-29为“超重”,而30及更高的区域标记为肥胖。

{'Age': {0: 33, 2: 38, 3: 39, 4: 33, 5: 38}, 'BMI': {0: 30, 2: 31, 3: 24, 4: 30, 5: 31}, 'Social_drinker': {0: 1, 2: 1, 3: 1, 4: 1, 5: 1}, 'Social_smoker': {0: 0, 2: 0, 3: 1, 4: 0, 5: 0}, 'Son': {0: 2, 2: 0, 3: 2, 4: 2, 5: 0}, 'Day_of_the_week': {0: 3, 2: 4, 3: 5, 4: 5, 5: 6}, 'Month_of_absence': {0: 7, 2: 7, 3: 7, 4: 7, 5: 7}, 'Seasons': {0: 1, 2: 1, 3: 1, 4: 1, 5: 1}, 'Service_time': {0: 13, 2: 18, 3: 14, 4: 13, 5: 18}, 'Absenteeism_time_in_hours': {0: 4, 2: 2, 3: 4, 4: 2, 5: 2}, 'BMI_fact': {0: 'Obese', 2: 'Obese', 3: 'Normal', 4: 'Obese', 5: 'Obese'}, 'Drinker_cat': {0: 'Non-Drinker', 2: 'Non-Drinker', 3: 'Non-Drinker', 4: 'Non-Drinker', 5: 'Non-Drinker'}, 'Smoker_cat': {0: 'Non-smoker', 2: 'Non-smoker', 3: 'Smoker', 4: 'Non-smoker', 5: 'Non-smoker'}}

我正在使用Pandas剪切功能来实现相同目的。下面是我的代码。但是,我看到下面的行很少产生NaN。我不确定是什么原因。

我的代码:

bin1 = [24,25,29,30]
labels1=['Normal','Overweight','Obese']
pd.cut(df['BMI'],bins=bin1,labels=labels1)

感谢您的帮助。预先感谢!

0 个答案:

没有答案