3、使用numpy导入文件
import numpy as np t1 np.loadtxt( /Users/huangyankai/documents/workspace/PycharmProjects/draw/numpy/US_video_data_numbers.csv ,dtype int ,delimiter , , unpack False) print(t1) print(t1.shape) #三种转置方法 print(t1.T) print(t1.transpose()) #转换了0 1轴 print(t1.swapaxes(1, 0))
4、numpy索引和切片
import numpy as np t1 np.loadtxt( /Users/huangyankai/documents/workspace/PycharmProjects/draw/numpy/US_video_data_numbers.csv ,dtype int ,delimiter , , unpack False) print(t1) print(t1.shape) print( * * 100) #三种转置方法 # print(t1.T) # print(t1.transpose()) # #转换了0 1轴 # print(t1.swapaxes(1, 0)) #取某一行 print(t1[0,]) print( * * 100) #取连续多行 print(t1[0:,]) print( * * 100) #取不连续的几行 print(t1[[1, 2, 3], ]) print( * * 100) print(t1[:,0]) print( * * 100) #取连续多行 print(t1[:, 1:]) print( * * 100) #取不连续的几行 print(t1[:, [1, 2]]) print( * * 100) #取多行和多列 取第3行到第五行 第2列到第4列的结果 #去的是行和列交叉点的位置 b t1[2:5,1:4] print(b) print( * * 100) #取多个不相邻的点 #选出来的结果是 0 0 2 1 2 3 c t1[[0,2,2],[0,1,3]] print(c) print( * * 100)
/Users/huangyankai/opt/anaconda3/python.app/Contents/MacOS/python /Users/huangyankai/documents/workspace/PycharmProjects/draw/numpy/3.py [[4394029 320053 5931 46245] [7860119 185853 26679 0] [5845909 576597 39774 170708] [ 142463 4231 148 279] [2162240 41032 1384 4737] [ 515000 34727 195 4722]] (1688, 4) **************************************************************************************************** [4394029 320053 5931 46245] **************************************************************************************************** [[4394029 320053 5931 46245] [7860119 185853 26679 0] [5845909 576597 39774 170708] [ 142463 4231 148 279] [2162240 41032 1384 4737] [ 515000 34727 195 4722]] **************************************************************************************************** [[7860119 185853 26679 0] [5845909 576597 39774 170708] [2642103 24975 4542 12829]] **************************************************************************************************** [4394029 7860119 5845909 ... 142463 2162240 515000] **************************************************************************************************** [[320053 5931 46245] [185853 26679 0] [576597 39774 170708] [ 4231 148 279] [ 41032 1384 4737] [ 34727 195 4722]] **************************************************************************************************** [[320053 5931] [185853 26679] [576597 39774] [ 4231 148] [ 41032 1384] [ 34727 195]] **************************************************************************************************** [[576597 39774 170708] [ 24975 4542 12829] [ 96666 568 6666]] **************************************************************************************************** [4394029 576597 170708] **************************************************************************************************** Process finished with exit code 0
# t中存在nan值 如何操作把其中的nan填充为每一列的均值 t4 np.array([[ 0., 1., 2., 3., 4., 5.], [ 6., 7., np.nan, 9., 10., 11.], [ 12., 13., 14., np.nan, 16., 17.], [ 18., 19., 20., 21., 22., 23.]]) print(t4.shape) def fill_nan_by_colum_mean(source): print(source) for i in range(source.shape[1]): #判断该列是否包含nan值 nan_count np.count_nonzero(source[:, i] ! source[:, i]) if nan_count 0: colum source[:, i] #求非nan的总和 colum_sum colum[np.isnan(colum) False].sum() #求非nan得均值 colum_mean colum_sum / (source.shape[0] - nan_count) #将均值赋给数组 colum[np.isnan(colum)] colum_mean #将小数组赋给源数据 source[:, i] colum print(source)



