我是靠谱客的博主 粗犷康乃馨,最近开发中收集的这篇文章主要介绍数据操作基础库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-中

最后

以上就是粗犷康乃馨为你收集整理的数据操作基础库numpy-上的全部内容,希望文章能够帮你解决数据操作基础库numpy-上所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部