# 数据准备和特征工程 ## 购买 - 各大电商平台有售 - 电子工业出版社天猫旗舰店 ## 读者来信 [1、《数据准备和特征工程》读后感](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729871&idx=1&sn=b1571ca2c9fc94e2bb0e71dd81477ca5&chksm=84db824eb3ac0b58e0cdb19f72c89f679636d1dc56a73670ffdc8364da625b55194f0aeb0559&scene=21#wechat_redirect) [2、阅读齐老师图书的一些感想](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729854&idx=1&sn=d2639439c77ca03ba28204d9bf23fdd0&chksm=84db823fb3ac0b291d7263ebd2d0549ea303f56f2934065447a898f0a0944cb4c612ffba0726&scene=21#wechat_redirect) [3、数据工程师的烦恼,就这样一扫而光](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729898&idx=1&sn=ad0823bad0fdcbf9cde60d8c2c9c004e&chksm=84db826bb3ac0b7d2af39c903dcd97d570141de3ae22249c65a6e0ca54d1a264d9c759a06fe4&scene=21#wechat_redirect) ## 资源 ### 源码 我利用百度提供的Ai Studio平台,创建了本书配套的实验课程,读者进入该课程之后,可以对照本书,在线调试所有代码,并且使用所提供的各种数据集。也可以将源码和数据集下载到本地使用。 地址:[https://aistudio.baidu.com/aistudio/course/introduce/1337](https://aistudio.baidu.com/aistudio/course/introduce/1337) ### PPT 下载 链接: https://pan.baidu.com/s/1BDBxTnc9J1LP3zpWoiJIZw 提取码: qj2l ### 视频课程 以下视频课程是西交利物浦大学洪贤斌博士依据本书内容录制 [《Python数据处理与特征工程》](https://edu.csdn.net/course/detail/30850):https://edu.csdn.net/course/detail/30850 ### 辅助文章 在我的微信公众号【老齐教室】上有很多关于数据科学的文章,其中也包含数据准备和特征工程相关内容。 请阅读:[数据科学和人工智能文章汇总](https://mp.weixin.qq.com/s/hfol0gpyv9itVKmr4dIlMA) ##《数据准备和特征工程》目录 1. 课程概论 2. 1. 概论(一)👉视频课程:[概论(一)](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729793&idx=1&sn=b87ff14a96ec71f6553f01c4ed2b2869&chksm=84db8200b3ac0b16b5862dd9c6600c3ff7f1181d23ab52e922e10b36be9a5afe397ae79a5c22&scene=21#wechat_redirect) 2. 概论(二)👉视频课程:[概论(二)](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729807&idx=2&sn=67654c9cf30a002294ce185dfe70b12d&chksm=84db820eb3ac0b186d3b7ffab2e54809748b0fa4d1f081f11d34a1f2418737fae81939a623d5&scene=21#wechat_redirect) 3. 感知数据 4. 1. 了解数据科学项目👉视频课程:[学习准备](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729598&idx=1&sn=51fcb6f7ffb10e7a11b7415137062e3b&chksm=84db833fb3ac0a2962ea74702bd0be0bc104b3350485096c28b6d6ebe80d1b63419058ec5e2f&scene=21#wechat_redirect) 2. 文件中的数据👉视频课程:[文件中的数据](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729607&idx=1&sn=c863610bfd83960c001e55f1c1ffe955&chksm=84db8346b3ac0a50a8ea5c9ba1100968354a0d2fcf413d6a14014ca5c1d5bb94fc51a8b809a2&scene=21#wechat_redirect) 3. 数据库中的数据 4. 网页上的数据 5. 来自 API 的数据 5. 数据清理 6. 1. 基本概念 2. 转化数据类型 3. 处理重复数据 4. 处理缺失数据👉视频课程:[处理缺失数据](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729638&idx=1&sn=b400d62872158442a38a491454b5fe46&chksm=84db8367b3ac0a71b94e52b55a5b0dd62e23992f33294144aa2b7c0e94a037cfb2ffd65086dd&scene=21#wechat_redirect) 5. 处理离群数据👉视频课程:[处理离群值](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729904&idx=1&sn=4c3a9f2bfcddf67b4ccbd6f9dad7501a&chksm=84db8271b3ac0b678b211d545310285b03b0319d2ece6cee60596920a7d76c7e355b1582d38d&scene=21#wechat_redirect) 7. 特征变换 8. 1. 特征的类型👉视频课程:[特征的类型](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657730062&idx=1&sn=1d2ccaa9376625b784fdb9245d71e017&chksm=84db810fb3ac081928e75a0c185f0bd4a5dc7e8d123c239526f6dc44602d88f5567cceafe23e&scene=21#wechat_redirect) 2. 特征数值化 3. 特征二值化 4. OneHot编码 5. 数据变换 6. 特征离散化👉视频课程:[特征离散化](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729680&idx=1&sn=24471cc670dd5d9328f18abafc848808&chksm=84db8391b3ac0a870f50f7d5a67bcfc9c3015084a32032ee452197cf2a337bf746714c2bbe31&scene=21#wechat_redirect) 7. 数据规范化👉视频课程:[特征规范化](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657730074&idx=1&sn=069bc087ad317774ec8aa9e28fda7619&chksm=84db811bb3ac080d53a61e88bf455b299b0bad548330be2040d3cf139105e3794f49b21dd2f6&scene=21#wechat_redirect) 9. 特征选择 10. 1. 特征选择简述 2. 封装器法 3. 过滤器法 4. 嵌入法 11. 特征抽取 12. 1. 无监督特征抽取👉视频课程:[无监督特征抽取](http://mp.weixin.qq.com/s?__biz=MzA3ODE4NzExOA==&mid=2657729735&idx=1&sn=e8ff56e4972277091b195d6577500232&chksm=84db83c6b3ac0ad058555fcdc4a18648f173f3156764a54eedb1a3421ccf2f86d77f23ea303f&scene=21#wechat_redirect) 2. 有监督特征抽取 ## 勘误与修订 2020年3月第1版第1次印刷 ----

勘误

### 前言 - 位置:第1自然段,第2行 - 原文:另外,数据科学业界中还流传着另一句话: - 修改为:~~另外~~,数据科学业界~~中~~还流传着另一句话: - 说明:去掉原文中的“另外”和“中” ### 第003页 - 位置:正文,第5自然段,第5行 - 原文:各环节之间不仅前后衔接,而且还可能循环往复。 - 修改为:各环节之间不仅前后衔接,~~而且~~还可能循环往复。 - 说明:去掉原文中的“而且”。 ### 第014页 - 位置:正文,第3自然段。 - 原文:⑫的作用是……。注意,这一句必须在且只能在代码块的第1行。 - 修改为:⑫的作用是……。~~注意,这一句必须在且只能在代码块的第1行。~~ - 说明:删除“注意......”这一句。 ### 第015页 - 位置:正文,倒数第1段,倒数第1行 - 原文:⑰是惰性操作,......,直到执行后续操作。 - 修改为:~~⑰是惰性操作,......,直到执行后续操作。~~ - 说明:原文所示的那一句删除。 ### 第038页 - 位置:代码段,In[9],第2行 - 原文:`tdatas.to_csv("./chapter01/movies.csv")` - 修改为:`datas.to_csv("./chapter01/movies.csv")` - 说明:原文中,在`datas`前面的字母 t 应该去掉 ### 第042页 - 位置:动手练习,第1题,整个题目进行修改。 - 修改为:在网上找到一个可用于读取数据的API,练习通过API读取数据。 - 说明:原文中的题目,因为API失效,不能使用,所以将题目内容更改。 ----

修订

### 第009页 - 说明:在正文倒数第1段之前,即“下面就使用这个函数读取Excel文件的数据”此段落之前,插入如下内容 > 为了顺利使用`pd.read_excel`函数,先安装两个操作Excel文件常用的第三方包:xlrd、openpyxl。 ### 第029页 - 说明:在第一段代码之后,在“建议读者在上述基础上,......”这段之前,增加下述内容。 利用read_sql_query函数,能够对数据库表直接使用SQL语句。此外,Pandas中还有一个名为read_sql的函数,它是对函数read_sql_query和read_sql_table的高级封装,用这个函数能够从指定数据库文件中读取数据。 为了使用这个函数,必须安装SQLAlchemy模块。 ```shell $ pip install sqlalchemy ``` 在演示读取数据之前,先创建一个SQLite的数据库文件(SQLite数据库是Python默认支持的,Python中有相应的标准库sqlite3)。 ```python from sqlalchemy import create_engine engine = create_engine('sqlite:///data.db', echo=False) ``` 创建名称为data.db的SQLite数据库,并用变量engine引用此数据库对象。 ```python import pandas as pd path = '/Users/qiwsir/Documents/Codes/DataSet/pm25' diadf = pd.read_csv(path+"/pm2.csv") diadf.to_sql("diadata.db", con=engine, index_label='ID') ``` 从CSV文件中的读取数据,然后执行to_sql方法,将数据保存到前面创建的数据库中,并将相应的数据库表命名为diadata.db。 执行完上述操作之后,在本地就可以看到名为data.db的数据库文件,如果用可视化工具打开这个数据库,可以查看到里面的内容(如下图所示,相关操作方法请参阅《Python大学实用教程》)。 ![](https://gitee.com/qiwsir/images/raw/master/2021-9-10/1631259757371-sqlitedata.png) 接下来,就可以使用Pandas的read_sql函数从这个数据库中读取数据库表diadata.db中的数据了。 ```python df = pd.read_sql('diadata.db', con=engine, index_col='ID') df.head() ``` 输出: ```python RANK CITY_ID CITY_NAME Exposed days ID 0 1 594 拉萨 2 1 2 579 玉溪 7 2 3 263 厦门 8 3 4 267 泉州 9 4 5 271 漳州 10 ```