数据操作基础库numpy-上

    xiaoxiao2022-06-26  92

    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-中

    原文博客:https://blog.csdn.net/Qwertyuiop2016/

    欢迎关注我的微信公众号,分享我的学习经验和一些觉得不错的资源。如果有问题的话,也可以在微信公众号联系我。


    最新回复(0)