Python数据处理笔记numpy篇(一) 发表于 2017-06-02 | 分类于 Python 关键词:基础数据输入方式,数据选取方式 基础数据输入方式 123456789101112131415161718192021222324252627import numpy as np#np中不同数据的输入方式np.array(object) #object 是一个array_like,比如list,range #[1,2,3]的类型是list;range(3)的类型是range #但是np.array([1,2,3])和np.array(range(3))的返回值类型都是numpy.ndarray ------ >>>np.array([1,2,3]) array([1,2,3]) >>>print(np.array([1,2,3])) [1 2 3] #直接打印出来的没有逗号分隔 ------np.arange([start,]stop,[step,]dtype = None) #返回值也是ndarray类型 #输入格式与range相似,都是出入初值、终值、步长,可以用这一点来避免与array混淆 ------ >>>np.arange(1,7,2) array([1,3,5]) ------np.linspace(start,stop,num = 50) #返回值是ndarray #出入为初值,终值,分隔的点数(num是指在初值终值之间平均分为多少点)np.loadtxt(path)#可打开的格式包含一般的txt,csv,dat等格式#返回值是ndarray 数据选取方式12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#数据的选取方式#第一个例子————一维data = np.arange(7) #形式如此data[start:stop:step,] #与list的切片使用方式是一致的 ------ >>>data[1:6:2] array([1,3,5]) >>>data[::-1][::2] array([6,4,2,0]) ------#例子二————二维data = np.array([[1,2,3], [4,5,6], [7,8,9]]) #形式为data[row,column] #其中row与column的切片方式与一维的是一致的,一定注意二者(row与column)之间有","分隔 ------ >>>data[:,: ]#data的所有行所有列 array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) >>>data[0,:]#所有列的第一行数据(就是第一行数据) array([1, 2, 3]) >>>data[1,1:]#第二列之后所有列的第二行数据 array([5, 6]) >>>data[0,0]#第一行第一列数据,返回值为numpy.int64 1 ------data = np.arange(24).reshape(2,3,4)#这是一个三维的array,英文表示分别为floor,row,columndata = array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]])>>>data[:,:,:]#输出整个data>>>data[0,:,:]#等于data[0],第一个floor的所有的行和列array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])>>>data[:,1,:]#所有floor的第二行array([[ 4, 5, 6, 7], [16, 17, 18, 19]])>>>data[:,:,1]#所有floor的第二列array([[ 1, 5, 9], [13, 17, 21]]) 等待填坑…… 打赏 微信支付 支付宝