Python 数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库、函数和外部工具。其中既有 Python 内置函数和标准库,又有第三方库和工具。
这些库可用于文件读写、网络抓取和解析、数据连接、数清洗转换、数据计算和统计分析、图像和视频处理、音频处理、数据挖掘/机器学习/深度学习、数据可视化、交互学习和集成开发以及其他 Python 协同数据工作工具。
公众号:大数据(ID:hzdashuju)
内容摘自:《Python数据分析与数据化运营》(第2版)
为了区分不同对象的来源和类型,本文将在描述中通过以下方法进行标识:
import string
string.find('abcde','b')
「推荐度」3星最高,1星最低。
01 文件读写
文件的读写包括常见的txt、Excel、xml、二进制文件以及其他格式的数据文本,主要用于本地数据的读写。
1. open(name[, mode[, buffering]])
类型:Python内置函数
描述:Python默认的文件读写方法
推荐度:★★★
2. numpy.loadtxt、numpy.load和numpy.fromfile
3. pandas.read_*
4. xlrd
类型:第三方库
描述:用于Excel文件读取
推荐度:★★
5. xlwt
类型:第三方库
描述:用于Excel文件写入
推荐度:★★
6. pyexcel-xl
类型:第三方库
描述:用于Excel文件读写
推荐度:★★
7. xluntils
类型:第三方库
描述:用于Excel文件读写
推荐度:★★
8. pyExcelerator
类型:第三方库
描述:用于Excel文件读写
推荐度:★
9. openpyxl
类型:第三方库
描述:用于Excel文件读写
推荐度:★
10. lxml
类型:第三方库
描述:xml和HTML读取和解析
推荐度:★★★
11. xml
类型:Python标准库
描述:xml对象解析和格式化处理
推荐度:★★★
12. libxml2
类型:第三方库
描述:xml对象解析和格式化处理
推荐度:★
13. xpath
类型:第三方库
描述:xml对象解析和格式化处理
推荐度:★★
14. win32com
02 网络抓取和解析
网络抓取和解析用于从互联网中抓取信息,并对HTML对象进行处理,有关xml对象的解析和处理的库在“01 文件读写”中找到。
15. requests
16. urllib
17. urllib2
18. urlparse
19. HTMLParser
20. Scapy
21. Beautiful Soup
03 数据库连接
数据库连接可用于连接众多数据库以及访问通用数据库接口,可用于数据库维护、管理和增、删、改、查等日常操作。
22. mysql-connector-python
类型:第三方库
描述:MySQL官方驱动连接程序
推荐度:★★★
23. pymysql
类型:第三方库
描述:MySQL连接库,支持Python3
推荐度:★★★
24. MySQL-python
25. cx_Oracle
类型:第三方库
描述:Oracle连接库
推荐度:★★★
26. psycopg2
27. redis
类型:Python标准库
描述:Redis连接库
推荐度:★★★
28. pymongo
类型:第三方库
描述:MongoDB官方驱动连接程序
推荐度:★★★
29. HappyBase
类型:第三方库
描述:HBase连接库
推荐度:★★★
30. py2neo
类型:第三方库
描述:Neo4j连接库
推荐度:★★★
31. cassandra-driver
32. sqlite3
33. pysqlite2
类型:第三方库
描述:SQLite 3.x连接库
推荐度:★★
34. bsddb3
35. bsddb
36. dbhash
37. adodb
38. SQLObject
39. SQLAlchemy
40. ctypes
41. pyodbc
42. Jython
类型:第三方库
描述:Python通过JDBC访问数据库的接口库
推荐度:★★★
04 数据清洗转换
数据清洗转换主用于数据正式应用之前的预处理工作。
43. frozenset([iterable])
44. int(x)
类型:Python内置函数
描述:返回x的整数部分
推荐度:★★★
45. isinstance(object, classinfo)
46. len(s)
类型:Python内置函数
描述:返回对象的长度或项目数量
推荐度:★★★
47. long(x)
类型:Python内置函数
描述:返回由字符串或数字x构造的长整型对象
推荐度:★★★
48. max(iterable[, key])
49. min(iterable[, key])
50. range(start, stop[, step])
51. raw_input(prompt)
52. round(number[, ndigits])
53. set([iterable])
54. slice(start, stop[, step])
55. sorted(iterable[, cmp[, key[, reverse]]])
56. xrange(start, stop[, step])
57. string
58. re
59. random
60. os
61. os.path
62. prettytable
类型:Python标准库
描述:格式化表格输出模块
推荐度:★★
63. json
类型:Python标准库
描述:Python对象与json对象的转换
推荐度:★★★
64. base64
05 数据计算和统计分析
数据计算和统计分析主要用于数据探查、计算和初步数据分析等工作。
65. numpy
66. scipy
67. pandas
68. statsmodels
69. abs(x)
类型:Python内置函数
描述:返回x的绝对值
推荐度:★★★
70. cmp(x, y)
71. float(x)
类型:Python内置函数
描述:返回从数字或字符串x构造的浮点数
推荐度:★★★
72. pow(x, y[, z])
73. sum(iterable[, start])
类型:Python内置函数
描述:从左到右依次迭代,返回总和
推荐度:★★★
74. math
75. cmath
76. decimal
类型:Python标准库
描述:10进制浮点运算
推荐度:★★
77. fractions
类型:Python标准库
描述:分数模块提供对有理数算术的支持
推荐度:★★
06 自然语言处理和文本挖掘
自然语言处理和文本挖掘库主要用于以自然语言文本为对象的数据处理和建模。
78. nltk
79. pattern
80. gensim
81. 结巴分词
82. SnowNLP
83. smallseg
84. spaCy
85. TextBlob
86. PyNLPI
87. synonyms
07 图像和视频处理
图像处理和视频处理主要适用于基于图像的操作、处理、分析和挖掘,如人脸识别、图像识别、目标跟踪、图像理解等。
88. PIL/Pillow
89. OpenCV
90. scikit-image
91. imageop
92. colorsys
93. imghdr
-
类型:Python标准库
描述:Python自带的函数,返回图像文件的类型
推荐度:★
08 音频处理
音频处理主要适用于基于声音的处理、分析和建模,主要应用于语音识别、语音合成、语义理解等。
94. TimeSide
95. audiolazy
96. pydub
97. audioop
98. tinytag
99. aifc
100. sunau
101. wave
类型:Python标准库
描述:Python自带的函数,读写WAV文件
推荐度:★★
102. chunk
103. sndhdr
类型:Python标准库
描述:Python自带的函数,返回声音文件的类型
推荐度:★
104. ossaudiodev
09 数据挖掘/机器学习/深度学习
数据挖掘、机器学习和深度学习等是Python进行数据建模和挖掘学习的核心模块。
105. Scikit-Learn
106. TensorFlow
107. NuPIC
108. PyTorch
109. Orange
110. theano
111. keras
112. neurolab
113. PyLearn2
114. OverFeat
115. Pyevolve
116. Caffe2
10 数据可视化
数据可视化主要用于做数据结果展示、数据模型验证、图形交互和探查等方面。
117. Matplotlib
118. pyecharts
119. seaborn
120. bokeh
121. Plotly
122. VisPy
123. PyQtGraph
124. ggplot
11 交互学习和集成开发
交互学习和集成开发主要用来做Python开发、调试和集成之用,包括Python集成开发环境和IDE。
125. IPython/ Jupyter
126. Elpy
127. PTVS
128. PyCharm
129. LiClipse
130. Spyder
12 其他Python协同数据工作工具
其他Python协同数据工作工具指除了上述主题以外,其他在数据工作中常用的工具或库。
131. tesseract-ocr
132. RPython
133. Rpy2
134. matpython
类型:第三方库
描述:MATLAB集成库
推荐度:★★★
135. Lunatic Python
136. PyCall.jl
137. PySpark
类型:第三方库
描述:Spark提供的Python API
推荐度:★★★
138. dumbo
139. dpark
140. streamparse
关于作者:宋天龙,大数据技术专家,触脉咨询合伙人兼副总裁,前Webtrekk中国区技术和咨询负责人(Webtrekk,德国的在线数据分析服务提供商)。擅长数据挖掘、建模、分析与运营,精通端到端数据价值场景设计、业务需求转换、数据结构梳理、数据建模与学习以及数据工程交付。
崔庆才
静觅博客博主,《Python3网络爬虫开发实战》作者
隐形字
个人公众号:进击的Coder