第四章 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随机数

 

posted @ 2019-11-18 17:39  MLorDL  阅读(194)  评论(0)    收藏  举报