首页 > 编程语言 >python123——numpy、scipy、pandas、matplotlib的读书报告

python123——numpy、scipy、pandas、matplotlib的读书报告

时间:2023-12-18 17:35:26浏览次数:38  
标签:函数 matplotlib python123 scipy 数组 np pandas

 

一、函数的基本用法

numpy

NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

特殊值

np.nan 和 np.inf

nan 是 not a number 的简写,意为不是数字,inf 是 infinity 的简写,意为无穷大。np.nan 也可以写作 np.Nan、np.NaN 或者 np.NAN,np.inf 也可以写作 np.Inf 或 np.Infinity。

 数学函数

数学常数、舍入函数、快速转换函数、幂函数、指数函数和对数函数、部分三角函数

统计函数

查找特殊值、求和差积、均值和方差、相关系数

对数组进行索引和切片

如使用a[i],a[i,j],a[:,j],a[i:j:k]等语法

差值函数

数据插值是数据处理过程中经常用到的技术,常用的插值有一维插值、二维插值、高阶插值等,常见的算法有线性插值、B样条插值、临近插值等。不过,NumPy只提供了一个简单的一维线性插值函数 np.interp(),其他更加复杂的插值功能放到了SciPy中。

多项式拟合函数

多项式拟合函数np.polyfit()

只需要输入一组自变量的离散值,和一组对应的函数 f ( x ) ,并指定多项式次数 k,就可以返回一组最佳系数。函数np.polyfit(),则可以将一组最佳系数转成函数 g(x)。

自定义广播函数

广播是NumPy最具特色的特性之一,几乎所有的NumPy函数都可以通过广播特性将操作映射到数组的每一个元素上。然而NumPy函数并不能完成所有的工作,有些工作还需要我们自己来定义函数。如何让我们自己定义的函数也可以广播到数组的每一个元素上,就是自定义广播函数要做的事情。

scipy

scipy是基于numpy的一个科学计算库,它提供了更多的高级函数和模块,涵盖了优化,积分,插值,傅里叶变换,信号处理,图像处理,常微分方程等领域

 

scipy.optimize.minimize():用于最小化一个目标函数的优化器。

scipy.integrate.quad():用于数值积分,计算函数在给定区间上的定积分值。

scipy.linalg.inv():计算矩阵的逆。 scipy.linalg.solve():求解线性方程组。

scipy.stats.norm():正态分布的概率密度函数、累积分布函数等统计量的计算。

scipy.fft.fft():进行快速傅里叶变换。

scipy.signal.convolve():实现信号的卷积运算。

scipy.interpolate.interp1d():进行一维数据的插值操作。

scipy.cluster.vq.kmeans():使用 k-means 算法进行聚类分析。

scipy.spatial.distance.euclidean():计算两个向量之间的欧氏距离。

pandas

Pandas 是一个开源的数据处理和分析库,它提供了高效、灵活和易于使用的数据结构和工具。主要功能包括数据读取和写入、数据清洗和预处理、数据索引和选择、数据分析和统计,以及数据可视化。它被广泛应用于数据科学、金融分析和机器学习等领域。

 

pandas.read_csv():读取 CSV 文件中的数据。

pandas.DataFrame():创建一个数据框。

pandas.Series():创建一个序列。

pandas.head():显示数据框的前几行。

pandas.tail():显示数据框的后几行。

pandas.shape():返回数据框的维度。

pandas.groupby():根据指定的列对数据进行分组。

pandas.merge():将两个数据框按照指定的列进行合并。

pandas.pivot_table():生成透视表。

pandas.apply():对数据框中的每一行或每一列应用一个自定义函数。

matplotlib

Matplotlib 是一个用于绘制图表和可视化数据的 Python 库。它简单易用,支持多种图表类型,并提供强大的定制化能力。用户可以根据需求选择合适的图表类型,并自定义图表的样式和属性。Matplotlib 还与 NumPy 和 Pandas 紧密集成,方便地处理和可视化数据。

 

matplotlib.pyplot.plot():绘制折线图。

matplotlib.pyplot.scatter():绘制散点图。

matplotlib.pyplot.bar():绘制直方图。

matplotlib.pyplot.hist():绘制柱状图。

matplotlib.pyplot.pie():绘制饼图。

matplotlib.pyplot.boxplot():绘制箱线图。

matplotlib.pyplot.imshow():显示图片。

matplotlib.pyplot.subplot():创建多个子图。

matplotlib.pyplot.legend():显示图例。

matplotlib.pyplot.title():设置图表标题。

二、解决具体问题

numpy

1、数组的转置

#数组的转置
import numpy as np
#1、np.arange(12) 生成一个从0到11的一维数组: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]。
#2、reshape(3,4) 将一维数组重新排列为3行4列的二维数组
a = np.arange(12).reshape(3,4)
print ('原数组:')
print (a)
print ('\n')
print ('转置数组:')
print (a.T)

输出结果

 2、计算数组的平均值、最大值和最小值

import numpy as np

# 创建一个数组
arr = np.array([1, 2, 3, 4, 5])

# 计算数组的平均值、最大值和最小值
mean_value = np.mean(arr)
max_value = np.max(arr)
min_value = np.min(arr)

print("数组的平均值为:", mean_value)
print("数组的最大值为:", max_value)
print("数组的最小值为:", min_value)

输出结果

 

scipy

给定一个数组 x 和一个函数 y = f(x),计算该函数在指定区间内的积分值。

import numpy as np
from scipy.integrate import quad

# 定义函数 f(x)
def f(x):
    '''-x**2 首先对数组 x 的每个元素进行平方运算,然后取负数。
    最后,np.exp() 函数将结果进行指数运算,即对每个元素求 e 的幂次方。'''
    return np.exp(-x**2)
# 定义积分区间
a, b = 0.0, 1.0
#quad() 函数 计算函数 f(x) 在区间 [a, b] 内的积分值
integral_value, error = quad(f, a, b)
print("函数 f(x) 在区间 [0, 1] 内的积分值为:", integral_value)

输出结果

 

pandas

给定一个包含学生信息的数据集,计算每个学生的平均成绩和总分

import pandas as pd

# 创建包含学生信息的数据集
data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '语文成绩': [85, 92, 78, 88],
    '数学成绩': [90, 88, 82, 95],
    '英语成绩': [80, 85, 88, 92]
}
#使用 pd.DataFrame() 函数将数据集转换为 DataFrame 格式,并赋值给变量 df
df = pd.DataFrame(data)

# 计算每个学生的平均成绩和总分
#计算每个学生的平均成绩,并将结果赋值给新的列 '平均成绩'
'''axis=1 表示按行进行计算,即沿着横轴方向计算每行的平均值
axis=0 表示对每列进行计算,即沿着纵轴方向计算每列的平均值
'''
df['平均成绩'] = df[['语文成绩', '数学成绩', '英语成绩']].mean(axis=1)
df['总分'] = df[['语文成绩', '数学成绩', '英语成绩']].sum(axis=1)

print(df)

输出结果

 

三、图像处理

matplotlib

绘制折线图

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体(解决中文无法显示的问题)
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像时负号“-”显示方块的问题

#创建画布
fig=plt.figure(dpi=100)
#创建axes
ax=fig.add_axes([0.1,0.1,0.8,0.8])
#绘图
ax.plot([1,2,3,4],[1,3,6,9],'ro-')
ax.plot([1,2,3,4],[2,5,8,12],'bH-.')
#设置图例
ax.legend(labels=('twitter','weibo'), loc='best')
#设置坐标轴
ax.set_xlabel("time")
ax.set_ylabel("visit")
#设置图像标题
ax.set_title("compare(比较)")
#展示图片
plt.show()

输出结果

 

标签:函数,matplotlib,python123,scipy,数组,np,pandas
From: https://www.cnblogs.com/qinuoqwq/p/17910975.html

相关文章

  • 在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......
  • numpy、scipy、pandas、matplotlib的读书报告
    基本函数的用法numpynumpy是Python中用于进行科学计算的基础模块,它提供了高效的多维数组对象ndarray,以及相关的数学运算和线性代数函数。numpy的主要功能有:创建和操作多维数组,如使用np.array(),np.arange(),np.zeros(),np.ones(),np.reshape()等函数。对数组进行索引和切片,如使用......
  • numpy、scipy、pandas、matplotlib读书报告
    一,基本函数的用法NumPy(NumericalPython):NumPy是Python中用于科学计算的基础包。它提供了多维数组对象(例如ndarray)、用于数组操作的各种函数以及线性代数、傅里叶变换和随机数生成等功能。NumPy的主要优势在于其高效的数组处理能力,使得数据处理变得更快速、更简单。它为用户......
  • numpy、scipy、pandas、matplotlib的读书报告
    一、基本函数的用法numpynumpy是Python中用于进行科学计算的基础模块,它提供了高效的多维数组对象ndarray,以及相关的数学运算和线性代数函数。numpy的主要功能有:创建和操作多维数组,如使用np.array(),np.arange(),np.zeros(),np.ones(),np.reshape()等函数。对数组进行索引和切片,如......
  • matplotlib
    ......
  • matplotlib显示中文问题
    引用自:https://zhuanlan.zhihu.com/p/104081310查看支持的字体:#查询当前系统所有字体frommatplotlib.font_managerimportFontManagermpl_fonts=set(f.nameforfinFontManager().ttflist)print('allfontlistgetfrommatplotlib.font_manager:')fortinsorted(......
  • python123——西游记相关的分词,出现次数最高的20个
       #统计西游记人物出场次数,(去除冠词,代词等干扰)并降序排列p173importjiebaexcludes={"一个","那里","怎么","我们","不知","两个","甚么","不是","只见","原来","如何","这个","不曾&q......
  • Matplotlib数据可视化综合应用Matplotlib图形配置在线闯关_头歌实践教学平台
    Matplotlib数据可视化综合应用图形配置第1关配置颜色条第2关设置注释第3关自定义坐标刻度第4关配置文件与样式表第1关配置颜色条任务描述本关任务:使用colorbar绘制一个热成像图。编程要求在右侧编辑器Begin-End处补充代码,根据输入数据绘制热成像图并隐藏坐标轴,具体要求如......
  • matplotlib中文字体渲染
    title:matplotlib中文字体渲染banner_img:https://cdn.studyinglover.com/pic/2023/12/334c0c129076533308cbc7e03f8c55be.pngdate:2023-12-421:52:00tags:-踩坑matplotlib中文字体渲染matplotlib在画图例的时候不可避免的需要使用中文字体,但是有的时候电脑自带的字......