标签:loc 等频 print detail amounts 分组 数据挖掘 bins
1 import pandas as pd 2 import numpy as np 3 4 # 加载数据 5 detail = pd.read_excel("../day05/meal_order_detail.xlsx") 6 # print("detail :", detail) 7 print("detail 的列索引:", detail.columns) 8 9 # 将dishes_name 转化为数值型数据 10 # 哑变量矩阵转化 11 res = pd.get_dummies( 12 data=detail.loc[:,"dishes_name"], 13 prefix_sep="_", 14 prefix="菜品" 15 ) 16 print("转化之后的结果res:\n",res) 17 # res.to_csv("./hh.csv") 18 19 20 # 身高 150 - 190 每位同学 都是一个具体的身高---连续的小数 21 # 将连续型数据转化为类别数据 ----离散化 22 # 分组 23 print("菜品单价的最大值与最小值:", detail.loc[:, "amounts"].max(), detail.loc[:, "amounts"].min()) 24 # 将detail 里面的amounts 数据进行离散化 25 # detail.loc[:, "amounts"] = pd.cut(detail.loc[:, "amounts"], bins=5) 26 27 # 自定义分组 28 # # 等宽分组 29 # # 1、指定分组个数 30 group_num = 5 31 # # # 2、计算最大值与最小值的极差 32 ptp = detail.loc[:, "amounts"].max() - detail.loc[:, "amounts"].min() 33 # # # 3、确定步长 34 step = int(np.ceil(ptp / group_num)) 35 # # # 4、确定分组的区间的节点 36 bins = np.arange(detail.loc[:, "amounts"].min(), detail.loc[:, "amounts"].max() + step, step) 37 print(bins) 38 # # 5、指定自定义分组 39 # # include_lowest ---指定包含最小值 40 detail.loc[:, "amounts"] = pd.cut(detail.loc[:, "amounts"], bins=bins, include_lowest=True) 41 42 # 等频分组 43 # 1、计算分位数 44 # bins = detail.loc[:, "amounts"].quantile(q=np.arange(0, 1 + 1 / 5, 1 / 5)) 45 # print(bins) 46 # # include_lowest ---指定包含最小值 47 # detail.loc[:, "amounts"] = pd.cut(detail.loc[:, "amounts"], bins=bins, include_lowest=True) 48 # 49 # print(detail.loc[:, "amounts"]) 50 # # 51 # # 统计每一个组内的个数 52 # res_counts = pd.value_counts(detail.loc[:, "amounts"]) 53 # print("res_counts:\n", res_counts)
标签:loc,等频,print,detail,amounts,分组,数据挖掘,bins 来源: https://www.cnblogs.com/Tree0108/p/12116149.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。