numpy、scipy、pandas、matplotlib的读书报告:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬

发布时间 2023-12-28 19:53:38作者: 胡瑟苏娜

1、基本函数用法

Numpy:

基础的数学计算模块,来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray,一般有三种方式来创建。

Scipy:

方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等。基本可以代替Matlab,但是使用的话和数据处理的关系不大,数学系,或者工程系相对用的多一些。

Pandas:面向数据操作和分析的 Python 库,提供用于处理数字图表和时序数据的数据结构和操作功能。

Matplotlib:Python 中常用的绘图库,能在跨平台的交互式环境生成高质量图形。后来在它的基础上又衍生了更为高级的绘图库 Seaborn。

需要掌握的是:
1.散点图,折线图,条形图,直方图,饼状图,箱形图的绘制。
2.绘图的三大系统:pyplot,pylab(不推荐),面向对象
3.坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用

2、具体问题解决

如用Matplotlib图像处理的

import numpy as np
import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams['font.family'] = 'SimHei' # 将字体设置为黑体'SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']

labels = np.array(["语文", "数学", "英语", "化学", "物理", "生物", "信息"])
dataLenth = 7 # 数据长度
data = np.array([83, 61, 95, 67, 76, 88, 40])
angles = np.linspace(0, 2 * np.pi, dataLenth, endpoint=False) # 根据数据长度平均分割圆周长

# 闭合
data = np.concatenate((data, [data[0]]))
angles = np.concatenate((angles, [angles[0]]))
labels = np.concatenate((labels, [labels[0]])) # 对labels进行封闭

fig = plt.figure(facecolor="white") # facecolor 设置框体的颜色
plt.subplot(111, polar=True) # 将图分成1行1列,画出位置1的图;设置图形为极坐标图
plt.plot(angles, data, 'bo-', color='g', linewidth=2)
plt.fill(angles, data, facecolor='g', alpha=0.25) # 填充两条线之间的色彩,alpha为透明度
plt.thetagrids(angles * 180 / np.pi, labels) # 做标签
# plt.figtext(0.52,0.95,'雷达图',ha='center') #添加雷达图标题
plt.grid(True)
plt.show()