目錄
一、布林型別索引
二、集合運算
三、排序
import numpy as np
# 建立arr
arr = np.array([[1,2,3],[5,2,8],[1,2,3]])
print('arr = \n{}\n'.format(arr))
#獲取arr 中元素大於3的元素
a = arr[arr >= 3]
print("a = {}\n".format(a))
#獲取arr 中元素小於3的元素
b = arr[arr < 3]
print("b = {}\n".format(b))
執行結果:
arr =
[[1 2 3]
[5 2 8]
[1 2 3]]
a = [3 5 8 3]
b = [1 2 2 1 2]
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 7, 8])
print('x = {}\n'.format(x))
print('y = {}\n'.format(y))
print('x 和 y 的交集: ', np.intersect1d(x, y))
print('x 和 y 的差集: ', np.setdiff1d(x, y))
print('x 和 y 的並集: ', np.union1d(x, y))
執行結果:
x = [1 2 3 4 5]
y = [2 4 6 7 8]
x 和 y 的交集: [2 4]
x 和 y 的差集: [1 3 5]
x 和 y 的並集: [1 2 3 4 5 6 7 8]
一維ndarray排序
import numpy as np
# 1到11的隨機ndarray
x = np.random.randint(1, 11, size=(10,))
print('x = {}\n'.format(x))
#對x排序, np.sort(n)方法不會改變n的順序
y = np.sort(x)
print('y = {}\n'.format(y))
#對x排序 n.sort() 會改變n的順序
x.sort()
print('排序後的x = {}\n'.format(x))
執行結果:
x = [10 6 6 5 2 6 6 4 2 1]
y = [ 1 2 2 4 5 6 6 6 6 10]
排序後的x = [ 1 2 2 4 5 6 6 6 6 10]
二維ndarray排序,我們需要在np.sort()
函式中指定是按行排序,還是按列排序。為此,我們可以使用關鍵字axis
import numpy as np
# 1到11的隨機ndarray
x = np.random.randint(1, 11, size=(5,5))
print('x = {}\n'.format(x))
#按照列排序
y = np.sort(x, axis=0)
print('y = {}\n'.format(y))
#按照行排序
x.sort(axis=1)
print('排序後的x = {}\n'.format(x))
執行結果:
x = [[ 6 5 8 4 6]
[ 1 1 9 5 3]
[ 7 10 3 10 4]
[ 5 1 9 6 2]
[ 2 9 10 1 2]]
y = [[ 1 1 3 1 2]
[ 2 1 8 4 2]
[ 5 5 9 5 3]
[ 6 9 9 6 4]
[ 7 10 10 10 6]]
排序後的x = [[ 4 5 6 6 8]
[ 1 1 3 5 9]
[ 3 4 7 10 10]
[ 1 2 5 6 9]
[ 1 2 2 9 10]]
numpy布林型索引
先建立乙個names一維陣列,再用numpy.random中的randn函式生成乙個7 4陣列 names np.array bob joe will bob will joe joe data np.random.randn 7,4 1.對names和字串 bob 的比較運算將會產生乙個布林型陣列...
06 numpy 陣列的索引切片和遍歷
和python裡的列表類似,numpy裡的ndarray也支援索引和下標運算元據。na np.arange 10 print na 2 10 print na 6 2 print na 5 2 print na 1 b np.random.randint 3,21,size 5,4,6 print ...
numpy中的布林型索引
內容來自 利用python進行資料分析 先建立乙個names一維陣列,再用numpy.random中的randn函式生成乙個7 4陣列 names np.array bob joe will bob will joe joe data np.random.randn 7,4 1.對names和字串 ...