一.numpy的数据提取
a=numpy.genfromtxt("文件路径",delimiter=".",dtype=str)#delimiter是把读取的文件以‘.’分割,dtype是文件读取的格式
二.numpy有关函数
1.切片
a=numpy.array([1,2,3,4])
print(a[0:3])
运行结果:
import numpy
a=numpy.array([[1,2,3],[4,5,6],[7,8,9]])
print(a[:,1])
运行结果:
2.多维数组变一行列表
import numpy
a=numpy.array([[1,2,3],[4,5,6],[7,8,9]])
print(a.ravel())
运行结果:
3.改变数组的行列值
import numpy as np
a=np.floor(10*np.random.random((3,4)))
print(a)
a.shape=(6,2)
print(a)
print(a.T)
运行结果:
4.数组的拼接
import numpy as np
a=np.floor(10*np.random.random((3,4)))
b=np.floor(10*np.random.random((3,4)))
print(a)
print(b)
print(np.hstack((a,b)))#vstack是竖着拼起来,hsplit(要切的数组,切成的份数),hsplit(要切的数组,(切割的位置,切割的位置..))
运行结果:
5.数组的复制
直接复制
import numpy as np
a=np.floor(10*np.random.random((3,4)))
b=a
改变a或b两个都变,a,b两个的id是一样的
import numpy as np
a=np.arange(10)
c=a.view()
这个与上面那个唯一不同的是id不一样了,但是他们的值都是共用的
import numpy as np
a=np.arange(10)
c=a.copy()
这个a和c的值都是独立的,互不干扰
6.寻找最大最小值
data=np.sin(np.arange(20)).reshape(5,4)
ind=data.argmax(axis=0)
data_max=data[ind,range(data.shape[1])]
7.数组拓展
a=np.arange(10,40,10)
b=np.tile(a,(4,3))#行变成原来的四倍,列变为原来的三倍
8.排序
a=np.array([[4,3,5],[1,2,1]])
b=np.sort(a,axis=1)#1是行,0是列
b=np.argsort(a)#按索引输出