首页 > 其他分享 >numpy、scipy、pandas、matplotlib的读书报告:

numpy、scipy、pandas、matplotlib的读书报告:

时间:2023-12-18 21:47:12浏览次数:37  
标签:plt 函数 matplotlib scipy 使用 np pi numpy


numpy是Python中用于进行科学计算的基础模块,提供了多维数组对象ndarray以及相关的数学运算和线性代数函数。它能够快速高效地处理大量数据,并提供了丰富的数组操作和数学函数,是进行科学计算和数据分析的重要工具。
numpy的主要功能有:
创建和操作多维数组,如使用np.array(),np.arange(),np.zeros(),np.ones(),np.reshape()等函数。
对数组进行索引和切片,如使用a[i],a[i,j],a[:,j],a[i:j:k]等语法。
对数组进行数学运算,如使用+,-,*,/,**,np.dot(),np.sin(),np.exp()等函数或运算符。
对数组进行统计分析,如使用np.sum(),np.mean(),np.std(),np.min(),np.max(),np.argmin(),np.argmax()等函数。
对数组进行排序,如使用np.sort(),np.argsort(),np.partition(),np.argpartition()等函数。
对数组进行广播,即根据一定的规则,使得不同形状的数组可以进行运算。
对数组进行线性代数运算,如使用np.linalg.inv(),np.linalg.det(),np.linalg.eig(),np.linalg.solve()等函数。


scipy是建立在numpy之上的一个科学计算库,提供了更高级的数学、科学和工程计算功能。它包含了各种优化、积分、插值、傅里叶变换、信号处理、图像处理等模块,为科学计算提供了更加全面和丰富的工具和方法。
scipy的主要功能有:
使用scipy.optimize模块进行优化,如使用scipy.optimize.minimize(),scipy.optimize.curve_fit(),scipy.optimize.root()等函数。
使用scipy.integrate模块进行积分,如使用scipy.integrate.quad(),scipy.integrate.odeint(),scipy.integrate.solve_ivp()等函数。
使用scipy.interpolate模块进行插值,如使用scipy.interpolate.interp1d(),scipy.interpolate.splrep(),scipy.interpolate.splev()等函数。
使用scipy.fftpack模块进行傅里叶变换,如使用scipy.fftpack.fft(),scipy.fftpack.ifft(),scipy.fftpack.fftshift()等函数。
使用scipy.signal模块进行信号处理,如使用scipy.signal.convolve(),scipy.signal.correlate(),scipy.signal.firwin(),scipy.signal.lfilter()等函数。
使用scipy.ndimage模块进行图像处理,如使用scipy.ndimage.imread(),scipy.ndimage.rotate(),scipy.ndimage.zoom(),scipy.ndimage.filters.gaussian_filter()等函数。


pandas是用于数据分析和处理的库,提供了Series和DataFrame两种数据结构,能够方便地进行数据清洗、转换、合并、重塑、分组、聚合等操作。它还提供了灵活而强大的索引和切片功能,以及丰富的统计分析和数据可视化工具,是进行数据分析和处理的常用工具。
pandas的主要功能有:
创建和操作Series和DataFrame,如使用pd.Series(),pd.DataFrame(),pd.read_csv(),pd.read_excel(),pd.to_csv(),pd.to_excel()等函数。
对Series和DataFrame进行索引和切片,如使用a.loc[],a.iloc[],a.at[],a.iat[],a[],a[[ ]]等语法。
对Series和DataFrame进行数学运算,如使用+,-,*,/,**,np.dot(),np.sin(),np.exp()等函数或运算符。
对Series和DataFrame进行统计分析,如使用a.sum(),a.mean(),a.std(),a.min(),a.max(),a.idxmin(),a.idxmax(),a.describe()等函数。
对Series和DataFrame进行排序,如使用a.sort_values(),a.sort_index()等函数。
对Series和DataFrame进行清理,转换,合并,重塑,分组,聚合等操作,如使用a.dropna(),a.fillna(),a.apply(),a.map(),pd.concat(),pd.merge(),a.pivot(),a.stack(),a.unstack(),a.groupby(),a.agg()等函数。


matplotlib是用于绘制图形和可视化数据的库,提供了一系列用于创建和操作图形对象的函数和方法。它支持绘制各种类型的图形,如折线图、散点图、柱状图、直方图、饼图、箱线图等,同时也提供了丰富的样式和属性设置,可以定制图形的外观。matplotlib能够将图形保存为图片文件或直接显示在交互式环境中,方便用户进行数据可视化和结果展示。
matplotlib的主要功能有:
创建和操作图形对象,如使用plt.figure(),plt.subplot(),plt.subplots(),plt.axes()等函数。
绘制各种类型的图形,如使用plt.plot(),plt.scatter(),plt.bar(),plt.hist(),plt.pie(),plt.boxplot()等函数。
设置图形的样式和属性,如使用plt.title(),plt.xlabel(),plt.ylabel(),plt.legend(),plt.grid(),plt.xlim(),plt.ylim(),plt.xticks(),plt.yticks(),plt.text(),plt.annotate()等函数。
保存和显示图形,如使用plt.savefig(),plt.show()等函数。


实际用例:
用numpy计算两个矩阵的乘积

import numpy as np
# 创建两个矩阵
a = np.array([[1,2,3],[4,5,6]])
b = np.array([[7,8],[9,10],[11,12]])
# 计算矩阵乘积
c = np.dot(a,b)
# 打印结果
print(c)

 


用spicy求解一个非线性方程组

import scipy.optimize as opt
# 定义方程组的函数
def f(x):
return [x[0]**2 + x[1]**2 - 1, x[0] - x[1] + 0.5]
# 用fsolve函数求解,给定初始值
x = opt.fsolve(f, [0,0])
# 打印结果
print(x)

 

用pandas从一个txt文件中读取数据,输出到excel文件中
i

mport pandas as pd

# 读取txt文档中的内容
with open('B2006data/附件2.txt', 'r') as f:
lines = f.readlines()

# 跳过前面几行
skip_lines = 13
data = []
for line in lines[skip_lines:]:
line = line.strip()
# 使用split()函数将每一行的数据分割成多个元素
row = line.split()
row_data = []
for element in row:
try:
# 尝试将元素转换为浮点数
row_data.append(float(element))
except ValueError:
# 如果转换失败,将元素作为字符串存储
row_data.append(element)
# 将每一行的数据储存在嵌套列表中
data.append(row_data)

# 将数据写入Excel
df = pd.DataFrame(data)
df.to_excel('附件2.xlsx', index=False, header=False)

 


用matplotlib绘制阻尼曲线

import matplotlib.pyplot as plt
import numpy as np


plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['font.sans-serif'] = ['SimHei']


def draw(pcolor, nt_point, nt_text, nt_size):
    plt.plot(x, y, label='$exp_decay$', color=pcolor, linewidth=3, linestyle="-")
    plt.plot(x, z, "b--", label='$cos(x^2)$', linewidth=1)
    plt.xlabel('时间(s)')
    plt.ylabel('幅度(mv)')
    plt.title("阻尼衰减曲线绘制")
    plt.annotate('$\cos(2 \pi t) \exp(-t)$', xy=nt_point, xytext=nt_text, fontsize=nt_size,
                 arrowprops=dict(arrowstyle='->', connectionstyle="arc3, rad=.1"))


def shadow(a, b):
    ix = (x > a) & (x < b)
    plt.fill_between(x, y, 0, where=ix, facecolor='grey', alpha=0.25)
    plt.text(0.5 * (a + b), 0.2, r"$\int_a^b f(x) \mathrm{d}x$", horizontalalignment='center')


def xy_axis(x_start, x_end, y_start, y_end):
    plt.xlim(x_start, x_end)
    plt.ylim(y_start, y_end)
    plt.xticks([np.pi/3, 2 * np.pi/3, 1 * np.pi, 4 * np.pi/3, 5 * np.pi/3],
               ['$\pi/3$', '$2\pi/3$', '$\pi$', '$4\pi/3$', '$5\pi/3$'])


x = np.linspace(0.0, 6.0, 100)
y = np.cos(2 * np.pi * x) * np.exp(-x) + 0.8
z = 0.5 * np.cos(x ** 2) + 0.8
note_point, note_text, note_size = (1, np.cos(2*np.pi)*np.exp(-1)+0.8), (1, 1.4), 14
fig = plt.figure(figsize=(8, 6), facecolor="white")
plt.subplot(111)
draw("red", note_point, note_text, note_size)
xy_axis(0, 5, 0, 1.8)
shadow(0.8, 3)
plt.legend()
plt.show()

 

标签:plt,函数,matplotlib,scipy,使用,np,pi,numpy
From: https://www.cnblogs.com/c0olL1fe/p/17912353.html

相关文章

  • Python NumPy 图像处理
    ​ 1、读取图像需要使用图像处理库来读取图像文件,如Pillow,并将其转换为NumPy数组。示例代码:PythonNumPy图像处理-CJavaPy2、保存图像使用NumPy处理后的图像可以再次转换为Pillow图像 示例代码:PythonNumPy图像处理-CJavaPy3、转换为灰度图可以通过将RGB值转换为......
  • numpy、scipy、pandas、matplotlib的读书报告
    Numpy:存储和处理大型矩阵,比Python自身的嵌套列表结构高效,由C语言开发。数据结构为ndarray,一般有三种方式来创建。Pandas:基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。最具有统......
  • matplotlib读书报告
    1.Matplotlib简介  Matplotlib是Python的一个2D图形库,能够生成各种格式的图形(诸如折线图,散点图,直方图等等),界面可交互(可以利用鼠标对生成图形进行点击操作),同时该2D图形库跨平台,即既可以在Python脚本中编码操作,也可以在JupyterNotebook中使用,以及其他平台都可以很方便的使用Ma......
  • scipy的读书报告
    SciPy提供了复制的算法及其在NumPy中作为函数的用法。这将分配高级命令和多种多样的类来操作和可视化数据。SciPy将多个小型包整合在一起,每个包都针对单独的科学计算领域。其中的几个子包是linalg(线性代数)、constants(物理和数学常数)和sparse(稀疏矩阵和相关例程) 值得注意......
  • numpy、scipy、pandas、matplotlib的读书报告
    numpy、scipy、pandas、matplotlib的读书报告:一、基本函数的用法numpynumpy是Python中用于进行科学计算的基础模块,它提供了高效的多维数组对象ndarray,以及相关的数学运算和线性代数函数。numpy的主要功能有:创建和操作多维数组,如使用np.array(),np.arange(),np.zeros(),np.ones()......
  • numpy读书报告
    numpy库常见函数的介绍<1>. numpy创建数组1.从已有数据中创建数组a. 将列表转换成ndarray:importnumpyasnpls1=[10,42,0,-17,30]nd1=np.array(ls1)print(nd1)print(type(nd1))运行结果:[10420-1730]<class'numpy.ndarray'>b.......
  • Numpy 等函数的读书报告
    importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltplt.rcParams['axes.unicode_minus']=Falseplt.rcParams['font.sans-serif']='SimHei'matplotlib使用里面的函数读取图片,输出图片对应的数组#matplotlib使用里面的函数读取图片,输出图片对应......
  • python123——numpy、scipy、pandas、matplotlib的读书报告
     一、函数的基本用法numpyNumPy(NumericalPython)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nestedliststructure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的......
  • 在Python中,你可以使用面向对象的方法来创建一个甘特图的模板。以下是一个使用`matplot
    在Python中,你可以使用`matplotlib`或者`plotly`库来制作甘特图¹²⁴⁵。以下是一些示例:**使用matplotlib制作甘特图**¹:```pythonimportmatplotlib.pyplotasplt#设置字体和负号显示plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=F......
  • Wasserstein距离的python代码实现scipy.stats.wasserstein_distance解释
    在官方文档scipy.stats.wasserstein_distance—SciPyv1.8.0.dev0+1869.838cfbeManual(osgeo.cn)页面中scipy.stats.wasserstein_distance(u_values,v_values,u_weights=None,v_weights=None)对参数u_values,v_value,u_weights,v_weights解释不清晰。通过看文章Wassers......