pandas实现年龄分组
pd.cut(df,bins=分组区间数据,labels=分组区间名)
将^{}与参数right=False一起使用,表示不包括容器的最右边缘:
X_train_data = pd.DataFrame({'Age':[0,2,4,13,35,88,54]})
bins= [-99,0,2,4,13,20,110]
labels = ['Error','Infant','Toddler','Kid','Teen','Adult']
X_train_data_count = pd.cut(X_train_data['Age'], bins=bins, labels=labels, right=False)
print (X_train_data_count.value_counts() )
![]()
通常数据库的数量两都是很大的,python是单核的,处理起来比较慢。
所以我们使用category来提高速度。category使用分类操作明显更快,是因为底层的算法使用整数编码数组,而不是字符串数组。
bins_cat=pd.Series(bins).astype('category')
X_train_data_cat_count = pd.cut(X_train_data['Age'], bins=bins_cat, labels=labels, right=False)
X_train_data_cat_count.value_counts()
参考文献;
https://github.com/iamseancheney/python_for_data_analysis_2nd_chinese_version/blob/master/%E7%AC%AC12%E7%AB%A0%20pandas%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8.md

浙公网安备 33010602011771号