首页 > 其他 > 详细

Numpy库学习

时间:2020-01-22 14:06:00      阅读:87      评论:0      收藏:0      [点我收藏+]

 

听课笔记

1.ndarray数组

方法为np.array() 生成一个ndarray数组,其轴(axis)为保存数据的维度,秩(rank)为轴的数量

import numpy as np
a = np.array([[1,5,8],[1,2,4]])
print(a)

输出为

[[1 5 8]
[1 2 4]]

ndarray对象的属性

技术分享图片

 

 在Anaconda内的IPython窗口对上面定义的ndarray对象查看这些属性:

技术分享图片

 

 ndarray元素的数据类型多种多样,但一个数组内的元素通常为一个类型

技术分享图片

 

技术分享图片

 

 技术分享图片

 

 尽量避免使用非同质的ndarray数组

 技术分享图片

 

 ndarray数组的创建方法

1.从Python中的列表、元组等类型创建ndarray数组。

x = np.array(list/tuple)
x = np.array(list/tuple, dtype= np.float32)
当np.array0不指定dtype时,NumPy将根据数据情况关联一个dtype类型。

2.使用NumPy中函数创建ndarray数组,如:arange,ones, zeros等。

技术分享图片

列如:

技术分享图片

 

根据上述方法衍生的方法:

技术分享图片

 

 

 

 

3.使用NumPy中其他函数创建ndarray数组

技术分享图片

例如:

技术分享图片

 

np.concatenate的格式为np.concatenate(a,b)

ndarray数组维度变换

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 ndarray数组数据类型变换

new_a=a.astype(new_type)

技术分享图片

 

 

  ndarray数组向列表转变

技术分享图片

 

 

 ndarray数组的索引和切片

技术分享图片

 

 

 技术分享图片

 

切片区间范围为左闭右开。

 

Numpy一元函数

技术分享图片

技术分享图片

 

 

 技术分享图片

 

 Numpy二元函数

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 

 

CSV文件

CSV文件也叫逗号分隔值文件,用来存储批量数据。常用来存储一维和二维数据。
np.savetxt(frame, array, fmt=‘%.18e‘, delimiter=None)
frame: 文件、字符串或产生器,可以是.gz或.bz2的压
缩文件。
array:存人文件的数组。
fmt: 写入文件的格式,例如: %d %.2f %.18e。
delimiter:分割字符串,默认是任何空格,要求定义为逗号。

技术分享图片

 

 

 技术分享图片

CSV文件的读取

np.loadtxt(frame, dtype=np.float, delimiter=None,unpack=False)
frame: 文件、字符串或产生器,可以是.gz或.bz2的压
缩文件。
dtype:数据类型,可选。
delimiter:分割字符串,默认是任何空格。
unpack:如果True,读入属性将分别写入不同变量。

savetxt和loadtxt只能有效存储和读取一二维数组

 

 

 多维数据的存取

存储

a.tofile(frame, sep=", format=‘%s‘)
frame:文件、字符串。
sep:数据分割字符串,如果是空串,写人文件为二进制。
format:写人数据的格式。

 

 技术分享图片

 

 

 技术分享图片

 

文件中不显示维度信息

读取

np.fromfile(frame, dtype=float, count=-1, sep=‘)

frame: 文件、字符串。

dtype:读取的数据类型。

count:读入元素个数,-1表示读入整个文件。

sep:数据分割字符串,如果是空串,写人文件为二进制。

由于存储的文件丢失了维度信息,故需要用reshape再导入函数信息。

技术分享图片

Numpy库学习

原文:https://www.cnblogs.com/funfair/p/11932128.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!