数据操作基础库numpy-上

numpy:数据分析和机器学习的底层库,完全由C语言实现,用于高效的操作数据。而且是开源的,经过了很多大牛的完善。

numpy.ndarray(numpy数组):由实际数据和元数据组成,实际数据必须是数据类型相同的数据集,元数据则是存储数据的维度和长度。
例如:a = [[2 3] [4 5] [6 7]] 的实际数据是2 3 4 5 6 7,元数据(a.shape)是(3,2),不加逗号是为了区分python列表与numpy数组。

0、创建数组
numpy.arange(起始,终止,步长) 生成一维数组
numpy.array(一般为列表或数组,dtype=对数据类型的描述) 根据列表或数组生成新数组,dtype可以省略

1、numpy内部基本数据类型
布尔型:bool_
有符号整数:int8(-128~127)/int16/int32/int64
无符号整数:unint8(0-255)/uint16/uint32/uint64
浮点型:float16/float32/float64
复数型:complex64/complex128
字符串:str_ , 每个字符用32位(四个字节)Unicode编码表示

2、自定义复合类型
1)类型字符码
? — bool_
b — int8
B — uint8
i1/i2/i4/i8 — 有符号整型
u1/2/4/8 – 无符号整型
f2/4/8 — 浮点
c8/16 — 复数
U<字符数> — 字符串
M8 — 日期时间
O — Python对象
2)类型字符串
<字节序><维度><类型字符码><字节数>
字节序:> 大端字节序 < 小端字节序 = 根据硬件自动选择
比如:a = numpy.array([‘abcdef’], dtype=‘6U1’)
# [[‘a’ ‘b’ ‘c’ ‘d’ ‘e’ ‘f’]]
更多示例见:dtype.py
疑问:能不能将[‘abcdef’]解读成这个数组[‘ab’ ‘cd’ ‘ef’]

3、切片
数组[起始:终止:步长,起始:终止:步长,…]
除了有多维切片外,基本和Python切片一样
补充: a[0][1][2] 同a[0,1,2]
示例:slice.py

4、变维
1)视图变维
reshape()(重新设置维度)、ravel()(展平,将数组变为一维的)、
transpose((2,1,0))(转置)原数组为(0,1,2),也就是把0,2轴数据对调
视图:返回一个具有新维度的新数组对象,数据还是原数组的数据,当原数组数据变化时,新数组数据也会变化
2)复制变维
flatten(展平,复制数据形成新数组)
3)就地变维
在原数组之上,改变维度
a.shape = 新维度
a.resize(…)
示例:reshape.py

5、np.ndarray的属性
dtype 元素类型
shape 数组维度
T 转置视图
size 元素个数
ndim 数组维数
itemsize 每个元素字节数
nbytes 数组总字节数
real 实部数组
imag 虚部数组 如果是整数或浮点数数组,则全为0,字符串数组则全为’’
flat 扁平迭代器(展平后的迭代器)
tolist() 数组转列表
a1 = np.append(a, i) 向a中添加i并返回结果给a1

数据操作基础库numpy-中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值