标准库
标准库官方文档
argparse:命令行选项、参数和子命令解析器
科学计算与数据分析
Numpy
使用 Python 进行科学计算的基础包。
Numpy教程
Numpy官方文档
Pandas
提供高性能,易用的数据结构和数据分析工具。
Pandas官方文档
Pandas教程
Scipy
由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。
Scipy官方文档
易百教程—Scipy教程
机器学习库
Scikit-learn
基于 SciPy 构建的机器学习 Python 模块。
Scikit-learn官方文档
数据可视化
Matplotlib
Matplotlib官方文档
matplotlib.pyplot绘图显示控制
在PyCharm中显示绘图:在绘图代码最后加上语句plt.show()。
在PyCharm中不显示绘图:在导入matplotlib库后,且在matplotlib.pyplot库被导入前加语句matplotlib.use(‘agg’)。
在Jupyter Notebook页面内显示绘图:加入语句%matplotlib inline。
饼图:标签重叠
方法一:按大小交叉排列
Matplotlib.pyplot 绘画饼图出现标签重叠—排序解决
排序代码:
def pdsort(pddata):# pddata为series类型
length = len(pddata.values)
indexs = [str(x) for x in pddata.index]
for i, j in zip(range(0, length, 2), range(length-1, 0, -2)):
if j <= i:
break
pddata.iloc[i],pddata.iloc[j] = pddata.iloc[j],pddata.iloc[i]
indexs[i], indexs[j] = indexs[j], indexs[i]
pddata = pd.Series(pddata.values, index=indexs)
return pddata
方法二:调节字体大小
调节字体大小
patches,l_text,p_text=plt.pie(money_rate,explode=explode,labels=names,autopct='%.2f%%')
# l_text是饼图对着文字大小,p_text是饼图内文字大小
for t in p_text:
t.set_size(5)
for t in l_text:
t.set_size(6)
# 窗口设置的大一些
plt.figure(figsize=(20, 6.5))
方法三:使用pyecharts绘图
pyecharts
pyecharts是一个用于生成Echarts图表的类库。
Echarts 官方实例
pyecharts的GitHub地址
文档 pyecharts.org
绘图示例gallery.pyecharts.org
注意,项目简介中有说明项目基于 pyecharts 1.7.1 版本进行展示,如果想要使用实例,安装pyecharts时需要指定版本:pip install pyechatrs==1.7.1
注意事项
在使用 Pandas&Numpy 时,请确保将数值类型转换为 python 原生的 int/float。比如整数类型请确保为 int,而不是 numpy.int32。
pd # series类型(Pandas)
pd.values# numpy
list(pd.values)# numpy.int的列表
pd.values.tolist# int的列表,应采用这种
图像格式设置的问题
饼图显示百分比:调整formatter参数
设置画布大小:初始化时设置init_opts
gender_pie = (
Pie(init_opts=opts.InitOpts(width='600px',height='400px'))
.add("", [list(z) for z in zip(gender_ratio.index.tolist(),gender_ratio.values.tolist())])
.set_global_opts(title_opts=opts.TitleOpts(title="gender比例"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}({d}%)"))
)
gender_pie.render_notebook()
关于pyecharts没有显示数据的问题
Echart有自带的主题,但是pyecharts如果要使用其他主题的画,需要安装echarts-themes-pypkg包。它提供了 vintage, macarons, infographic, shine 和 roma等主题。需要注意的是,没有安装该包,就使用该包就会导致图不能正常显示。但是代码并不会报错。
pip install echarts-themes-pypkg
pyecharts画图没有数据显示
pyechart 与jupyter 交互式,图表显示空白的解决方案
关于jupyter中无法显示的问题
bar.render():可直接使用这个函数,会在根目录下生成相应的网页HTML
bar.render_notebook():直接可以展示
eplot
eplot,在pandas中流畅的使用pyecharts!
eplot 是pyecharts库对pandas的一个接口,通过给DataFrame及Series类添加方法,直接使用DataFrame对象添加的方法来画echats交互图。避免了导入pyecharts模块、实例化对应的图像、添加数据等复杂的步骤。
pyecharts提供的方法可以使用python直接画echarts图,但是需要数行代码,而我们平时做数据分析时,数据多存在pandas的DataFrame里,DataFrame的plot方法可以使用matplotlib做后端,直接通过调用实例化的DataFrame的方法来绘制图像,如: df.plot.bar()。 基于同样的想法,为了在pandas中更流畅的使用pyecharts,eplot通过给DataFrame, Series类注册eplot方法来实现类似的功能。 因此,我们无需在DataFrame外创建pyecharts对象,而是直接用eplot方法通过pyecharts后端来画交互图。
安装方法: pip install eplot
GitHub地址examples可查看实例
Seaborn
Seaborn官方文档
知乎-Seaborn官方文档学习笔记
Python第三方库资源