#coding utf-8 #mojun #1,创建一个多维数组,随机生产随机数 #2,数组的索引与变化: #3矩阵的创建与运算: #4数组的运算与常用统计分析方法,文件读取。 ##=======创建数组=========== import numpy as np #第一步:一维数组的创建: arr1=np.array([1,2,3,4]) print(type(arr1)) ##二维数组: arr2=np.array([[1,2,3,4],[4,5,6,4],[7,8,9,5]]) print(arr2) ##数组的属性: # print('数组类型:',arr2.shape) # print('数组个数:',arr2.size) # print('数组类型:',arr2.dtype) # print('数组维度:',arr2.ndim) # print('数组元素大小:',arr2.itemsize) ##重设数组类型 # arr2.shape= 4,3 print('重设shap',arr2) #numpy自动生成数组的函数 #1,arange(起始值,终止值,步长) #print(np.arange(0,1,0,1)) ##生成等差数列:linspace # np.linspace(起始值,终止值,元素个数) # print(np.linspace(0,1,22)) ##等比数列:logspace(10^a,10^b,元素个数) # print(np.logspace(0,1,20)) #(4)全0数组 # print(np.zeros((2,3))) #全1数组 # print(np.ones((2,3))) #单位数组:一定是方阵 # print(np.eye(3)) ##对角数组 diag 一定是方阵 # print(np.diag([1,2,3,4])) #===============生成随机数============================ #random模块 #1,np.random.random 0~1之间 # print(np.random.random(10)) #2,均匀分布: # np.random.rand # print(np.random.rand(10,5)) # 3,正态分布np.random.radn print(np.random.randn(8,4)) #4,随机整数:np.random.randit # print(np.random.randint(2,10,size=[2,5])) #================数组索引============== ##一维数组的索引:类似于列表切片 # arr = np.arange(10) # print(arr[2:6]) # # arr[3]=30 # print(arr) # print(arr[::2]) # print(arr[-1::-2]) #二维数组索引: #方法一: arr=np.array([[1,2,3,4,5],[1,5,6,7,8],[4,5,6,10,23]]) # print('索引第0行,第3,4列的元素为:',arr[0,3:]) # print('索引第1,2行,第3,4列的元素为:',arr[1:,3:]) # print('索引第1,2行,第3,4列的元素为:',arr[:,3:4]) # # print('索引第1,2行,第3,4列的元素为:',arr[:,3]) # 方法二: # print(arr[(0,1,2),(1,2,3)]) #[2 6 10] # print(arr[0,1],arr[1,2],arr[2,3]) # 2 6 10 # print(arr[1:,(0,2,3)]) #1,2行的,第0,2,3列的元素为: #方法三:通过布尔值取值: # print(arr) mask = np.array([0,1,0],dtype=np.bool) #bool运算 print(mask) print(arr[mask,2]) # mask = np.array([1,0,1],dtype=np.bool) # mask1 = np.array([1,0,1],dtype=np.bool) # print(arr[mask,mask1]) #等价于print(arr[(),()]) # # a=np.arange(100).reshape((10,10)) # print(a) # print(np.array([1,2]:[3,4]:[8,9])) # arr = np.arange(100).reshape(10,10) # arr1 = arr[(1,3,8),] # print(arr1[:,(2,4,9)]) #===========4,变换数组形态============ aa=np.arange(12) ##生成一维数组 print(aa.reshape(3,4).dtype) arr2 = aa.reshape(3,4) ##二维展评为一维: print(arr2.ravel()) #展评方法二:flatten print(arr2.flatten('c')) ##默认为c横向 print(arr2.flatten('f')) #纵向 #组合 arr3=np.arange(12).reshape(3,4) arr4= 4*arr3 print(np.hstack((arr3,arr4)) ) #横向 print(np.vstack((arr3,arr4)) ) #纵向
数据分析基本知识
最新推荐文章于 2023-07-05 17:51:07 发布