第四章 numpy和 padas
1.布尔运算:
数组的比较运算是矢量化的;就是不是跟=一样,替换的意思。(!=)和(-)表示对条件否定。
2.&表示和,|表示或;
3.花式索引:不改变原值
#-*- encoding:utf-8 -*- import numpy as np import pandas as pd import matplotlib.pyplot as plt arr = np.arange(32).reshape(8,4) arr1 = np.arange(32).reshape(8,4) #注意下面得到的结果是一样的 arr3 = arr[[1,2,3]][:,[0,1,2,3]]
arr3_1 = arr1[1:4][:] #注意下面是区别了 arr3[0,1] = 100 #花式索引得到的是复制品,重新赋值以后arr不变化 arr3_1[0,1] = 100 #切片方式得到的是一个视图,重新赋值后arr1会变化 print arr3 print arr3_1 print arr print arr1 >>> [[ 4 100 6 7] [ 8 9 10 11] [ 12 13 14 15]] [[ 4 100 6 7] [ 8 9 10 11] [ 12 13 14 15]] [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15] [16 17 18 19] [20 21 22 23] [24 25 26 27] [28 29 30 31]] [[ 0 1 2 3] [ 4 100 6 7] [ 8 9 10 11] [ 12 13 14 15] [ 16 17 18 19] [ 20 21 22 23] [ 24 25 26 27] [ 28 29 30 31]]
3.转置
#-*- encoding:utf-8 -*- import numpy as np import pandas as pd import matplotlib.pyplot as plt arr = np.arange(32).reshape(8,4) arr1 = np.arange(32).reshape(8,4) #注意下面得到的结果是一样的 arr3 = arr[[1,2,3]][:,[0,1,2,3]] arr3_1 = arr1[1:4][:] #注意下面是区别了 arr3[0,1] = 100 #花式索引得到的是复制品,重新赋值以后arr不变化 arr3_1[0,1] = 100 #切片方式得到的是一个视图,重新赋值后arr1会变化 print arr3 print arr3_1 print arr print arr1 >>> [[ 4 100 6 7] [ 8 9 10 11] [ 12 13 14 15]] [[ 4 100 6 7] [ 8 9 10 11] [ 12 13 14 15]] [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15] [16 17 18 19] [20 21 22 23] [24 25 26 27] [28 29 30 31]] [[ 0 1 2 3] [ 4 100 6 7] [ 8 9 10 11] [ 12 13 14 15] [ 16 17 18 19] [ 20 21 22 23] [ 24 25 26 27] [ 28 29 30 31]]
dot为矩阵乘法,二维矩阵为一个数值
3.mershgird(point,point)
4.np.where()函数解释
5.arange整数,randn随机数


浙公网安备 33010602011771号