資料分析之numpy常用知識點 難點梳理

2021-08-31 07:35:53 字數 2959 閱讀 6359

一、與random有關的一些函式的區別,首先匯入numpy

import numpy as np
np.random.randint(low, high=none, size=none, dtype=『l』)

從low到high的範圍隨機取整數填充多維陣列, size用於指定陣列的形狀,dtype預設為長整型

np.random.random(size=none)

函式隨機生成0到1的隨機數 [0,1) 填充陣列,size指定多維陣列的形狀

np.random.randn(d0, d1, …, dn)

產生以0為中心 方差為1 的 標準正太分布 的隨機數 填充陣列, 傳入幾個引數,就建立幾維陣列

np.random.normal(loc=0.0, scale=1.0, size=none)

normal是可以指定中心和方差的一般正態分佈

loc 指明 正態分佈的中心

scale 指明正態分佈的變化範圍

np.arange([start, ]stop, [step, ]dtype=none)

從start,到end,每隔step取乙個值,放入陣列

step為幾就隔幾個取乙個值,預設為1

start和step可以省略

二、numpy整數陣列形式的索引與切片

nd = np.random.randint(0,10,size=(5,6))

ndarray([[1, 2, 1, 9, 4, 0],

[0, 3, 4, 6, 6, 5],

[4, 3, 6, 4, 3, 4],

[7, 9, 6, 5, 9, 9],

[8, 5, 7, 1, 0, 7]])

順序任意 可以正向取 也可以反向取 可以任意取 而且可以重複取

nd[[1,2],1]

array([3, 3])

nd[-1,[0,2,4]]

array([8, 7, 0])

nd[-1,[2,4,0,0,0,0]]

array([7, 0, 8, 8, 8, 8])

nd[[2,4],[1,3]]

array([3, 1])

切片是 從外往裡 一級一級切

nd[:,0:2]

array([[1, 2],

[0, 3],

[4, 3],

[7, 9],

[8, 5]])

nd[1:3,1:-1]

array([[3, 4, 6, 6],

[3, 6, 4, 3]])

三、numpy級聯

np.concatenate((a1, a2, …), axis=0, out=none)

axis引數改變鏈結的方向, 預設為0,即縱向拼接

nd = np.random.randint(0,10,size=(4,5))  

ndarray([[9, 6, 6, 7, 0],

[3, 2, 7, 5, 6],

[1, 8, 5, 9, 9],

[9, 6, 4, 0, 3]])

np.concatenate((nd,nd),axis=0) # 或者np.concatenate((nd,nd),axis=-2)

array([[9, 6, 6, 7, 0],

[3, 2, 7, 5, 6],

[1, 8, 5, 9, 9],

[9, 6, 4, 0, 3],

[9, 6, 6, 7, 0],

[3, 2, 7, 5, 6],

[1, 8, 5, 9, 9],

[9, 6, 4, 0, 3]])

np.concatenate((nd,nd),axis=1) # 或者np.concatenate((nd,nd),axis=-1)

array([[9, 6, 6, 7, 0, 9, 6, 6, 7, 0],

[3, 2, 7, 5, 6, 3, 2, 7, 5, 6],

[1, 8, 5, 9, 9, 1, 8, 5, 9, 9],

[9, 6, 4, 0, 3, 9, 6, 4, 0, 3]])

四、ndarry的聚合操作

只要有ture就返回true

np.any(nd,axis=0)

是否都是true

np.all(nd,axis=0)

np.argwhere()

# 使用argwhere 可以按照值去找 元素的索引 # 使用argwhere 可以按照		      值去找 元素的索引

np.argwhere(nd==9)

# np.argwhere(nd==1)

# np.argwhere(nd>6)

# argwhere本身是用來找 值不是0的元素的索引的

ndarray([[9, 2, 2],

[7, 7, 0],

[1, 4, 6]])

nd=9

array([[ true, false, false],

[false, false, false],

[false, false, false]])

五、廣播機制

對應項相加,不足的部分自動補全

m = np.ones((2, 3))

marray([[1., 1., 1.],

[1., 1., 1.]])

a = np.arange(1,4,1)

aarray([1, 2, 3])

m + a

array([[2., 3., 4.],

[2., 3., 4.]])

資料分析簡單知識點(numpy)

資料分析基本概念 明確思路 資料收集 分布式爬蟲實戰 資料處理 資料分析 資料展現 常用的收集途徑 公開資訊,外部資料庫,自有資料庫,調查問卷,客戶資料 資料清洗 可讀性,完整性,唯一性,權威性及合法性 常見的資料型別 1,類別型資料 1 取值種類 2 每類取值的分布 2,數值型變數 1 極值和分位...

numpy常用知識點備忘

a 5,8,2,7,21 b operator.itemgetter 0 b a b operator.itemgetter 1,0 b a 5 8,5 import importlib importlib.reload knn python字典的遍歷 函式名.變數名用這種方式定義的變數,可以在任意...

資料分析之SQL常問知識點

資料分析之sql常問知識點 一 insert into select 語句 與 select into from 語句 語句形式 insert into table2 field1,field2,select value1,value2,value3,from table1要求目標表table2 必...