读书笔记1:python数据分析基础教程:numpy学习指南第一、二章

一、有关numpy的分析

numpy是一个开源的python科学计算库,可以使用数组、矩阵以及多种数学函数,比如线性代数的运算、傅里叶变换和随机数的生成等,并且运算时间会低于纯python代码的运算时间

二、numpy数组对象

1.创建数组
a=array([[1,2],[3,4]])为两行两列的数组
可指定参数类型
array(7,dtype=float32)
输出 :array([0.,1.,2.,3.,4.,5.,6.],dtype=float32)
使用字符编码 float32可用f代替
输出 :array([0,1,2,3,4,5,6],dtype=unit16)
[注]:dtype是numpy中数据类型对象,针对的字符编码
整数 : i
无符号整数 : u
单精度浮点数 : f
双精度浮点数 : d
布尔值 : b
复数 : D
字符串 : S
Unicode字符串 : U
void(空) : V

2.读取数组中的元素,下标从0开始
a[0,0]=1 a[0,1]=2

3.numpy的数据类型
bool : 用一位存储的布尔类型 TRUE 或FALSE
inti: 由所咋平台决定精度的整数(若电脑为64位 则为int64,若为32位,则为int32)
int 8、16、32、64 : 整数 范围为-2(n-1)至2(n-1)
unit8、16、32、64: 无符号整数 范围0~2^n
float16: 半精度浮点数(16)
float32:单精度浮点数(32)
float64: 双精度浮点数(64)
complex64:复数,分别用两个32位浮点数表示实部和虚部
complex128或complex:复数,分别用两个64位浮点数表示实部和虚部
【注】:均有转换类型的功能 比如float(True)=1.0,而复数不可转换为整数和浮点数,但是浮点数可转换为复数,complex(1.0)=1+0j j即为虚部
4.数据类型对象
numpy数组中元素数据类型皆相同
并且可以使用dtype类的itemsize属性查看单个元素在 内存中所占字节数:a.dtype.itemsize=8
5. dtype类属性
(1) char可获得数据字符的字符编码
t=type(‘Float64’)
t.char
‘d’
(2) type可获取数组元素的数据类型
t.type
<type ‘numpy.float64’>
(3) src 给出数据类型的字符串表示 字节序+字符编码+字节数 大端序:最高位存放在最低内存地址 ‘>’反之小端序 ‘<’
t.src
‘<f8’
6.一维数组的索引和切片
用下标:
a=numpy.arange(9) 0~8
a[3:7]=array([3,4,5,6]) 不包含最后一位
用下标+步长
a[:7:2]=array([0,2,4,6])
用负数下标翻转数组
a[::-1]=array([8,7,6,5,4,3,2,1,0])
7.改变数组的维度
(1)reshape(m,n,s): 用元组设置维度
(2)ravel():展平 按行成一维数组 返回视图
(3)flatten():同ravel 但会请求分配内存来保存结果
(4)transpose:转换矩阵 即转置
(5)resize同reshape,但会修改原数组
8.数组的组合
(1)水平组合:hstack((a,b))即将a矩阵末尾接上b
concatenate((a,b),axis=1)行为1
(2)垂直组合 :vstack((a,b)) a堆在b的上面
concatenate((a,b),axis=0)列为0
(3)深度组合:即将点阵数据按照纵轴方向进行层叠
dstack((a,b))
在这里插入图片描述
(4)列组合:对于一维数组按列方向组合
column_stack
[0,1]和[0,2]则为array([[0,0],
[1,2]])
对于二维数组,column_stack等同于hstack
(5)行组合:按行 row_stack 二维等同于vstack
9.数组的分割
(1)水平分割:hsplit(a,3):分割成三个大小相同的子数组 即每列 也可用split(a,3,axis=1)
(2)垂直分割 vsplit(a,3) 实际为按行分块
split(a,3,axis=0)
(3)深度分隔:按纵轴方向分割
10.数组的属性
shape():改变维数
dtype:数据类型
ndim:给出数组维数或数组轴个数
size:元素总数
itemsize:元素所占字节数
nbytes:nbytes:即itemsize与size乘积
T与transpose相同,转置矩阵
【注】对于一维数组,T为原数组
复数的虚部用j表示
real:复数的实部
imag:复数的虚部
【注】若数组中含复数元素,数据类型自动变为复数型
flat属性:遍历任意的多维数组,返回numpy.flatiter对象
b.flat:获取每一个元素
b.flat[2]:根据下标直接获取一个元素
b.flat([1,3]):根据下标获取多个元素
b.flat([1,3])=1:根据下标对多个元素进行赋值
数组的转换
tolist()将数组转换为列表
astype():指定数据类型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值