【数据分析&数据挖掘】非数值型数据的哑变量转化、连续型数据离散化——等宽分组&等频分组

摘要:
1importpandasaspd2importnumpyasnp34#加载数据5detail=pd.read_excel("../day05/meal_order_detail.xlsx")6#print("detail:",detail)7print("detail的列索引:",detail.columns)89#将dishes_name转化为数值型数据10#哑变量矩阵转化11res=pd.g
1 importpandas as pd
2 importnumpy 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:
",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:
", res_counts)

免责声明:文章转载自《【数据分析&数据挖掘】非数值型数据的哑变量转化、连续型数据离散化——等宽分组&等频分组》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Windows平台FramelessWindowHint窗口,点击底部任务栏隐藏Java 实现二叉树的构建以及3种遍历方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python Faker插件--模拟测试数据

项目地址:https://github.com/joke2k/faker 安装方法: pip install Faker 基本用法: from faker import Fakerfake = Faker(locale='zh_CN')name = fake.name()address = fake.address()print(name)print(ad...

python数据挖掘介绍

目录 一:什么是数据挖掘 二:数据挖掘的基本任务 三:数据挖掘流程 四:数据挖掘建模工具   在python对数据的处理方式中,数据挖掘和数据分析是两个重要的方式,目的是为了从数据中获取具有科研或者商业价值的信息。而数据挖则掘是从大量的数据中通过算法搜索隐藏在数据中隐含的、先前未知的并有潜在使用价值的信息的过程。本篇将讨论数据挖掘的一些入门知识。...

DataSet——合二为一,合并两个数据集的数据内容

在ASP.NET中,一个数据集可以包含多个数据表,本实例要实现的是两个数据表合并到一个数据集中,即该数据集中包含原来两个数据集中的所有表。 关键技术: 通过数据集的Merge方法可以将另外一个数据集、表集合或行数组的内容合并到当前数据集中。表的主键、表名称、约束等因素都会影响合并数据集的效果。 Merge方法主要用于将指定的DataSet及其架构合并到当前...

小目标 | DAX高级实践-Power BI与Excel联合应用

· 适用人群:数据分析专业人士,在数据分析方向需求发展人士 · 应用场景:数据汇报、数据可视化展现、数据建模分析 · 掌握难度:★★★★☆  本期讲师 DAX高级实践-Power BI与Excel联合应用   通过前序三篇文章的学习,大家已经了解到在DAX数据建模中如何搭建数据模型、如何设计数据模型中对于值的度量计算以及如何查询数据模型。   而在实际...

jmeter 读取excel数据

jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化 但是将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题, 以下就是解决的办法: 先做一个Excel表,如下 再将excel表格保存为csv格式: 下面是使用CSV Data Set Config参数化将csv里面的数...

数据可视化之powerBI技巧(二十二)利用这个方法,帮你搞定Power BI"增量刷新"

Power BI的增量刷新功能现在已经对Pro用户开通,但由于种种限制,很多人依然无法使用无这个功能,所以,每一次刷新,都要彻底更新数据集。这对于量级比较大的数据集来说,着实是一件耗费时间的事情。 拿我的亲身经历举个例子,我有一份报表涵盖了客户近3年的销售情况,由于客户的业务流量比较大,数据集的每一次手动刷新都在15分钟左右,而计划刷新更是会延迟到35分钟...