Python标准库及第三方库速查

标准库

  • 标准库官方文档
    • 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第三方库资源

你可能感兴趣的:(Python编程)