分享

Python|Numpy读取本地数据和索引

 算法与编程之美 2020-08-08

1.什么是numpy

numpy是一个在python中做科学计算的基础库,重在数值计算,也是大部分python科学计算库的基础库,多用于在大型,多维数组上执行数值运算。学习numpy是后面学习pandas的重要基础。Numpynp.array()的方法就可以创建数组,常见的数据类型有intfloatbool。一般64位的电脑默认为int64,也可以通过dtype=‘ ’的方式来改变类型。数组的形状可以用(2,3)来表示,比如这个例子就表示这是一个23列的数组,用reshape()的方法可以更改数组的形状。数组的基本运算与矩阵的运算有点类似,但这不是今天的重点,今天主要讲的是numpy读取本地数据和索引。

2.Numpy读取数据

由于csv便于展示、读取和写入,所以很多地方也是用csv的格式存储和传输中小型的数据,操作csv格式的文件,操作数据库中的数据也是很容易的实现的。

np.loadtxt(frame,dtype=np.floatdelimiter=None,skiprows=0,usecols=None,unpack=False)

(1)frame:文件的路径。

(2)dtype:数据类型,可选,CSV的字符串以什么数据类型读入数组中,默认np. float

(3)delimiter:分隔字符串,默认是任何空格,改为逗号。

(4)skiprows:跳过前x行,一般跳过第一行表头。

(5)usecols:读取指定的列,索引,元组类型。

(6)unpack:如果True,读入属性将分别写入不同数组变量,False 读入数据只写入一个数    组变量,默认FalseUnpack实际上就是转置。

如下举例:

2.1

2.2

3.Numpy的索引和切片

Numpy的索引和切片和与列表相似,以后可能会经常遇到这样的操作,所以熟练掌握与切片相关的操作是很重要的。取某一行可以直接写t2[2],这个例子是指取第三行。要记住除了xpath是从下标1开始,其它的一般都是从0开始。取连续的多行t2[2:],从三行开始一直取。取不连续的多行t2[[0,2,4]],这就是数组与一般列表切片的区别。列与行相似,与列表相似t2[:,0]这个就表示对行不做任何操作,取第一列。取行和列,t2[2,3]。取多行和多列t2[0:2,1:3]。取多个不相邻的点t2[[0,1,2],[1,2,3]],它实际上取的点是(0,1),(1,2),(2,3)

4.Numpy中数值的修改              

数值的修改是比较简单的,想要修改一个值只需要找到这给数,再重新给它赋值就可以了。

如果想要修改,比如将所有小于10000的数变为1,就可以写t2[t2<10]=1。也可以用np.where(t2<10000,1,0),三元运算符将小于10000的变为1,否则变为0.


END

编  辑   |   王楠岚

责  编   |   王   曦

 where2go 团队


微信号:算法与编程之美          

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多