摘要:查阅之用,挑了一些简单的数据处理函数介绍,至于复杂的,就直接索引到书里去了。
【时间紧迫,没有认真排版,能看就行。】
NumPy
ufunc函数全称为通用函数,是一种能够对数组中的逐个元素进行操作的函数。
这些函数包括广泛的操作,如四则运算、求模、取绝对值、幂函数、指数函数、三角函数、位运算、比较运算和逻辑运 算等。
对数组的操作,numpy 函数整体花费时间比 math 模块函数要少 得多。
random生成随机数,但是每次只能 随 机 生 成 一 个 随 机 数 ,
NumPy.random模块的随机数生成函数,一方面可以生成随机向量,另一 方面函数丰富。
Pandas(Panel Data,面板数据)是在 NumPy 的基础上开发的,是 Python最强大的数据分析和探索工具之一
Pandas可以进行统计特征计算,包括均值、方差、分位数、相关系数和协方差等,这些统计特征能反映数据的整体分布。
mean():用于计算样本数据的算术平均值。 std():用于计算样本数据的标准差。 cov():用于计算样本数据的协方差矩阵。 var():用于计算样本数据的方差。 describe():用于描述样本数据的基本情况,包括非 NaN 数据个数,均值,标准差,最小值,样本的 25%、50%和 75%分位数,最大值。
Pandas数据结构的范围可以从一维到三维。
在实际应用中,更多的情况是通过 Python读取外部数据,这些数据可 能是文本文件(如 csv、txt等类型)和电子表格 Excel 文件等。
Pandas模块中的 read_csv函数,可以读取 txt 或 csv(逗号分隔的文 本文件)文本格式数据。
其中几个重要参数如下:
(1)filepath_or_buffer:可以是 URL和文件,可用 URL类型包括 http, ftp等。
(6)index_col:用作行索引的列编号或者列名,如果给定一个序列则 有多个行索引。
(9)nrows:指定读取数据的行数。 (10)na_values:指定原数据集中哪些特征的值作为缺失值。
(11)skip_blank_lines:读取数据时是否需要跳过原数据集中的空白行,默认为 True。
Excel 文件的存取 read_excel()函数可以读入 Excel文件中的数据。
read_excel(io, sheet_name=0, header=0, names=None, index_col=None, parse_cols=None, usecols=None, dtype=None) 其中:
(1)io:Excel 文件名。
(2)sheet_name:表单名或表单序号。
可能会提示没有 openpyxl 模块,可以即时在命令提示符下使用 pip install openpyxl 命令安装。
iloc只能通过行号和列号进行数据的筛选,该索引方式与数组的索引方 式类似,都是从 0开始,可以间隔取号,对于切片仍然无法取到上限。 loc可以指定具体的行标签(行名称)和列标签(字段名),而且,还可 以将 row_select指定为具体的筛选条件。
a=pd.read_excel("Pdata2_33.xlsx",usecols=range(1,4)) #提取第 2 列到 第 4 列的数据
b1=a.iloc[np.arange(6),[0,1]] # 通过标号筛选数据
b2=a.loc[np.arange(6),["用户 A","用户 B"]] # 通过标签筛选数据
Matplotlib是 Python强大的数据可视化工具,类似于MATLAB语言。
Matplotlib 提供了一整套与 MATLAB 相似的命令 API,十分适合进行交互 式制图,而且也可以方便地将它作为绘图控件,嵌入 GUI 应用程序中。
它有 Figure、 Axes、Axis、Tick 四种类型的对象容器
Figure负责图形大小、位置等操 作;
Axes 负责坐标轴位置、绘图等操作;
Axis 负责坐标轴的设置等操作;
Tick负责格式化刻度的样式等操作;
四种对象容器之间是层层包含的关系。
Matplotlib.pyplot模块画折线图的 plot函数的常用语法和参数含义如下:
plot(x, y, s)
其中 x为数据点的x坐标,y为数据点的 y坐标,s为指定线条颜色、线条样式和数据点形状的字符串
plot函数也可以使用如下调用格式: plot(x, y, linestyle, linewidth, color, marker, markersize, markeredgecolor, markerfacecolor, markeredgewidth, label, alpha)
linestyle:指定折线的类型,可以是实线、虚线和点画线等,默认为实线。
linewidth:指定折线的宽度。
marker:可以为折线图添加点,该参数设置点的形状。
markersize:设置点的大小。
markeredgecolor:设置点的边框色。
markerfacecolor:设置点的填充色。
markeredgewidth:设置点的边框宽度。 L
abel:添加折线图的标签,类似于图例的作用。
alpha:设置图形的透明度
Matplotlib.pyplot模块其他常用函数有:
(1)pie():绘制饼状图。
(2)bar():绘制柱状图。
(3)hist():绘制二维直方图。
(4)scatter():绘制散点图。
例如 plt.scatter(x,y,c=’r’,marker=’H’,s=20),表示绘制散点图,x坐标 数据为 x, y坐标数据为 y,c=’r’表示颜色为红色,marker=’H’表示数据点 为六角形,s=20表示数据点的尺寸大小为 20。
Matplotlib绘图主要包括以下几个步骤:
(1)导入 Matplotlib.pyplot模块。
(2)设置绘图的数据及参数。
(3)调用 Matplotlib.pyplot模块的 plot()、pie()、bar()、hist()、scatter()
等函数进行绘图。
画图函数调用为 plt.plot()等。plot()等。
(5)调用 show()函数显示已绘制的图形。
gcf()获得的是表示图形的Figure对象,而gca()获得的则是表示子图的 Axes对象。例如:
fig = gcf()
axes = gca()
Matplotlib画图显示中文时通常为乱码
rc('font',family='SimHei') #用来正常显示中文标签
rc('axes',unicode_minus=False) #用来正常显示负号
Matplotlib.pyplot 的可视化应用
1.散点图
#程序文件 Pex2_37.py
import numpy as np
from matplotlib.pyplot import *
x=np.array(range(8))
y='27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8' # 数据是粘贴过来的
y=",".join(y.split()) # 把空格替换成逗号
y=np.array(eval(y)) # 数据之间加逗号太麻烦,我们用程序转换
scatter(x,y)
savefig('figure2_23.png',dpi=500); show()
2.多个图形显示在一个图形画面
在同一个图形界面上分别画出 y x = sin( ), 2 y x = cos( ), x Î[0,2 ] p 的图形。
#程序文件 Pex2_38.py
import numpy as np
from matplotlib.pyplot import *
x=np.linspace(0,2*np.pi,200)
y1=np.sin(x); y2=np.cos(pow(x,2))
rc('font',size=16); rc('text', usetex=True) # 调用 tex 字库
plot(x,y1,'r',label='$sin(x)$',linewidth=2) #Latex 格式显示公式
plot(x,y2,'b--',label='$cos(x^2)$')
xlabel('$x$'); ylabel('$y$',rotation=0)
savefig('figure2_38.png',dpi=500); legend(); show()
3.多个图形单独显示
第 146 页
4.三维空间的曲线
第 147 页
5.三维曲面图形
第 149 页
6.等高线图
第 153 页
7.可视化的综合应用
第 160 页
NumPy能生成一定概率分布的随机数,但如果需要更具体的概率密度,分布函数等,就用用到 scipy.stats模块了。