数据处理和简单画图

摘要:查阅之用,挑了一些简单的数据处理函数介绍,至于复杂的,就直接索引到书里去了。

【时间紧迫,没有认真排版,能看就行。】

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模块了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值