分佈式數據庫30講

使用Numpy讓你的Python科學計算更高效php

download:《極客時間》分佈式數據庫30講
算法

避免採用隱式拷貝,而是採用就地操做的方式數據庫

能夠提升計算速度數組


ndarray分佈式

NumPy數組中的維數稱爲秩(rank),一個線性的數組稱爲一個軸(axes),秩就是描述軸的數量。ide


建立數組函數


 import numpy as npui

 a = np.arrary([1, 2, 3,])spa

 b = np.array([1, 2, 3], [4, 5, 6], [7, 8, 9])orm

 b[1, 1] = 10

 print a.shape

 print b.shape

 print a.dtype

 print b

運行結果


(3L,)

(3L, 3L)

int32

[[1 2 3]

 [4 10 6]

 [7 8 9]]

結構數組

import numpy as np

persontype = np.dtpye({

'name':['name', 'age', 'chinese', 'math', 'english'],

'formats':['s32', 'i', 'i', 'i', 'f']} # 定義結構

peoples = np.array(["ZhangFei", 32, 75, 100, 90),("GuanYu", 24, 85 , 96, 88.5),

("ZhaoYun", 28, 85, 92, 96.5),("HuangZhong", 29, 65, 85, 100)],

dtype = persontype)

ages = peoples[:]['age']

chinese = peoples[:]['age']

maths = peoples[:]['chinese']

englishs = peoples[:]['english']

print np.mean(ages) # 求平均值

print np.mean(chinese)

print np.mean(maths)

print np.mean(englishs)

ufunc運算

x1 = np.arange(1,11,2) # 建立等差數組:初始值,終值,步長

x2 = np.linspace(1,9,5) # 建立等差數組:初值、終值,元素個數

算法運算

x1 = np.arange(1,11,2)

x2 = np.linspace(1,9,5)

print np.add(x1, x2) # 加

print np.substact(x1, x2) # 減

print np.multiply(x1, x2) # 乘

print np.divide(x1, x2) # 除

print np.power(x1, x2) # 冪

print np.remainder(x1, x2) # 取餘 np.remainder()與np.mod()同樣

統計函數

'''

計算矩陣的最大最小值

'''

import numpy as np

a = np.array([[1,2,3], [4,5,6], [7,8,9]])

print np.amin(a)

print np.amin(a,0)

print np.amin(a,1)

print np.amax(a)

print np.amax(a,0)

print np.amax(a,1)

計算加權平均值

a = np.array([1,2,3,4])

wts = np.array([1,2,3,4])

print np.average(a)

print np.average(a, weights=wts) # 計算加權平均值

統計數組中的標準差std()、方差var()

a = np.array([1,2,3,4])

print np.std(a) # 計算標準差

print np.var(a) # 計算方差

NumPy 排序

'''

默認爲快速排序,能夠指定kind爲quicksort、

mergesort、heapsort,即快速排序、合併排序、堆排序。axis能夠指定爲-1,1,None.

'''

a = np.array([[4,3,2],[2,4,1]]

print np.sort(a)

print np.sort(a, axis=None)# 扁平化排序

print np.sort(a,axis=0)# 按列排序

prin np.sort(a, axis=1)# 按行排序

相關文章
相關標籤/搜索