######建立array
import numpy as np
np.array([1,2,3])
np.array([0]*10)
a = np.zeros(10)
a.dtype
a = np.zeros(10,dtype = 'int')
a = np.ones(10)
a = np.empty(100)
a#包前不包後
np.arange(2,10,3)
np.arange(2,10,0.3)
#arange的第三個引數為步長,linspace的第三個引數為份數
#包錢包後
a = np.linspace(0,100,101)
a.size
#結果為101
x = np.linspace(-10,10,10000)
xy = x**2
import matplotlib.pyplot as plt
plt.plot(x,y)
plt.show()
#對角矩陣
np.eye(10)
#####array索引和切片
a = np.arange(10)
aa+1
a*33/a
b = np.arange(10,20)
b#大小一樣就可以做運算
a+ba5,a))
a = np.array(a)
aa[a>5]
a = np.arange(4)
a[[true,false,false,true]]
a = [random.randint(0,10) for i in range(20)]
aa = np.array(a)
ab = a[a>5]
b[b%2==0]
# & 位運算子
a[a>5 & a%2==0] #錯誤
a[(a>5) & (a%2==0)] #可以重寫&,但不能重寫and
a[(a>5) | (a%2==0)]
#########花式索引
a = np.arange(20)
a[[1,2,3,5]]
a = np.arange(20).reshape((4,5))
aa[0,2:4]
a[0,a[0]>2]
a[[1,3],[1,3]]
a[[1,3],[1,4]]
#先切行,再切列,
#先切第一行到第三行,列全切。列中行全切,在切第一列到第三列
a[[1,3],:][:,[1,3]]
############array通用函式
abs(-1)
a = np.arange(-5,5)
abs(a)
np.abs(a)
np.sqrt(a)
#exp---指數
#log---對數
a = 1.6
int(a) #1
round(a) #2 #四捨五入
a=-1.6
int(a) #-1
round(a) #-2
import math
#向上取整
math.ceil(1.6) #2
math.ceil(-1.6) #-1
#向下取整
math.floor(-1.6) #-2
a = np.arange(-5.5,5.5)
np.floor(a)
np.ceil(a)
np.round(a)
#向0取證
np.trunc(a)
np.rint(a) #與round相同
np.modf(a) #整數與小數分開
x,y = np.modf(a)xy
a = np.arange(0,5)
5/a#nan:不等於任何浮點數,甚至 nan != nan
#inf:比任何浮點數都大
float('3.5')
float('nan')
float('inf')
np.nan == np.nan
np.isnan(5/a)
a[~(np.isnan(a))]
float('inf') > 100000000000 #比任何數都大
a = np.array([1,2,3,4,5])
b = np.array([1,0,3,0,5])
c = a/b
np.inf == np.inf
c[c!=np.inf]
c[~np.isinf(c)]
b=np.array([3,0,5,0,7])
anp.maximum(a,b)
np.minimum(a,b)
###############統計方法和隨機數生成
#方差:表示整數資料的離散程度,方差越小,離散程度越小
#標準差:方差開根號,
a = np.arange(0,10,0.2)
a.mean()
a.std()
a.var()
#可以根據均值加減標準差來估計整個資料的範圍
a.mean()+a.std()
a.mean()-a.std()
a.argmax()
a.argmin()
import random
random.random()
random.random(0,10)
random.choice([1,2,3,4,5])
a=[1,2,3,4,5]
random.shuffle(a)
anp.random.randint(10) #0-1的10個數
np.random.randint(0,10,10) #產生0-10的10個數
np.random.randint(0,10,(3,5)) #產生三行五列的二維陣列
np.random.choice([1,2,3,4,5])
np.random.choice([1,2,3,4,5],10)
random.uniform(2.0,4.0) #平均分布
np.random.uniform(2.0,4.0,10)
python資料分析之Numpy
numpy系統是python的一種開源的數值計算擴充套件 ndarray 多維陣列 所有元素必須是相同型別 ndim屬性,維度個數 shape屬性,各維度大小 dtype屬性,資料型別 coding utf 8 import numpy as np 生成指定維度的隨機多維資料 data np.ran...
Python 資料分析 Numpy模組
numpy模組可以高效的處理資料,提供陣列支援 很多模組都依賴他,比如 pandas scipy matplotlib 首先到 下查詢numpy mkl 我的python版本是3.6.1,系統是64位 使用如下命令安裝 pip install numpy 1.13.3 mkl cp36 cp36m ...
python資料分析 numpy入門
import numpy as np import random 建立陣列 t1 np.array random.randint 2,9 for i in range 10 t2 np.arange 1,6 t3 np.array range 1,10,2 print t1 t1 print t2 ...