Python数据分析与展示1-Numpy库(学习笔记)

mooc课程地址:https://www.icourse163.org/learn/BIT-1001870002?tid=1003248008#/learn/announce

一、关于数据分析

numpy的基础理论是线性代数,利用矩阵的方式计算,可以去掉元素运算时的循环,提高效率。

二、基本概念与理解

Numpy库

import numpy as np

NumPy是一个开源的Python科学计算基础库,包含:

①一个强大的N维数组对象(ndarray)广播功能函数
②整合C/C++/ Fortran代码的工具
③线性代数、傅里叶变换、随机数生成等功能
与后面内容的联系:NumPy是SciPy、Pandas等数据处理或科学计算库的基础

N维数组对象: ndarray

相当于C语言的结构体?
ndarray : 是一个多维数组对象,由两部分构成:
①实际的数据
②描述这些数据的元数据(数据维度、数据类型等)
ndarray数组一般要求所有元素类型相同(同质) , 数组下标从0开始

三、ndarray类型属性、创建和变换

1、ndarray对象的属性

属性 说明
ndim 秩,即轴的数量或维度的数量
shape ndarray对象的尺度,对于矩阵, n行m列
size ndarray对象元素的个数,相当于. shape中n*m的值
dtype ndarray对象的元素类型
itemsize ndarray对象中每个元素的大小,以字节为单位

2、ndarray数组的创建方法

①从Python中的列表、元组等类型创建ndarray数组
②使用NumPy中函数创建ndarray数组,如:arange, ones, zeros 等
③从字节流(raw bytes)中创建ndarray数组
④从文件中读取特定格式,创建ndarray数组

3、ndarray数组的变换

对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换

维度变换

方法 说明
. reshape(shape) 不改变数组元素,返回一-个shape形状的数组,原数组不变
.resize(shape) 与.reshape( )功能一致,但修改原数组
. swapaxes(ax1, ax2) 将数组n个维度中两个维度进行调换
. flatten() 对数组进行降维,返回折叠后的一维数组,原数组不变

元素类型变换

#astype()方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致
new_a = a.astype(new_type)  

#ndarray数组向列表的转换
ls= a.tolist()

3、数组的索引和切片

索引:获取数组中特定位置元素的过程
切片:获取数组元素子集的过程
一维数组的索引和切片:与Python的列表类似,[起始编号: 终止编号(不含): 步长],3元素冒号分割,编号0开始从左递增,或‐1开始从右递减
多维数组的索引:每个维度一个索引值,逗号分割
多维数组的切片:选取一个维度,用每个维度切片方法,与一维数组相同,每个维度可以使用,步长跳跃切片

4、ndarray数组的运算

数组与标量之间的运算:数组与标量之间的运算作用于数组的每一个元素

NumPy一元函数:对ndarray中的数据执行元素级运算的函数

函数 说明
np.abs(x) np. fabs(x) 计算数组各元素的绝对值
np. sqrt(x) 计算数组各元素的平方根
np. square(x) 计算数组各元素的平方
np.log(x) np. log10(x)np . log2(x) 计算数组各元素的自然对数、10底对数和2底对数
np. ceil(x) np. floor(x) 计算数组各元素的ceiling值或floor值
np.rint(x) 计算数组各元素的四舍五入值
np. modf(x) 将数组各元素的小数和整数部分以两个独立数组形式返回
np.cos(x) np. cosh(x) np. sin(x)
np. sinh(x) np. tan(x) np. tanh(x)
计算数组各元素的普通型和双曲型三角函数
np . exp(x) 计算数组各元素的指数值
np. sign(x) 计算数组各元素的符号值, 1(+), 8, -1(-)

NumPy二元函数

函数 说明
+ - * / ** 两个数组各元素进行对应运算
np . maximum(x,y) np . fmax( )
np. minimum(x,y) np . fmin()
元素级的最大值/最小值计算
np . mod(x,y) 元素级的模运算
np. copysign(x,y) 将数组y中各元素值的符号赋值给数组x对应元素
> < >= <= == != 算术比较,产生布尔型数组

你可能感兴趣的:(python)