B站14天資料分析筆記2次課Numpy

2022-09-18 13:30:11 字數 3715 閱讀 3394

#包匯入方法:

import numpy

import numpy as np

from numpy import

*# 陣列與列表的差別

#陣列:元素型別dtype相同 否則會強制型別轉換a=[

1,2,

3,4,

5][x+1

for x in a]b=[

2,3,

4,5,

6,7]

[c+d for

(c,d)

inzip

(a,b)

]#壓縮成元組陣列

#陣列的計算

a=np.array([1

,2,3

,4])

# print array([1, 2, 3, 4])a+1

#print array([2, 3, 4, 5])

#陣列初始化l=[

1,2,

3,4]

a=np.array(l)

#列表生成陣列 print array([1, 2, 3, 4])

np.zeros(10)

#生成0陣列 都是浮點數 array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

np.ones(

10,dtype=

'int'

)#同上 設定型別為int

a.fill(

2.5)

#將陣列元素都填為2.5 如果原型別為整數 則2.5->2

a=a.astype(

'float'

)#強制型別轉換

#隨機數陣列

a=np.arange(1,

11,2)

#起點 終點 步伐 array([1, 3, 5, 7, 9])

a=np.linspace(1,

10,10)

#起點 終點 等差數列的元素個數 array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])

a=np.random.rand(5)

#0-1的5個隨機數

a=np.random.randn(5)

#正態分佈5個隨機數

a=np.random.randint(1,

10,6)

#1-10 6個隨機數

#陣列屬性

type

(a)#numpy.ndarray n維陣列

a.dtype #元素的資料型別dtype('int32')

a.shape #形狀/行列 (6,)

a.ndim #維度 1

#陣列索引

a=np.array([0

,1,2

,3,4

,5])

a[0]#陣列切片與列表相同a[1

:3]#多維陣列

a=np.array([[

0,1,

2,3]

,[1,

2,3,

4]])

a.shape #(2, 4)

a.ndim #2

#索引a[1,

2]#第二行 第三列a[1

,]#索引為1的第二行 的所有列a[:

,1]#第二行/第二列的所有行

#切片 陣列引用機制 使用同一塊記憶體

# 列表直接copy備份

a=np.array([1

,2,3

,4])

b=copy(a[1:

3])b[

1]=9999

a #不變

b=a[1:

3]b[1

]=9999

a #array([ 1, 2, 9999, 4])a=[

1,2,

3,4]

b=a[1:

3]b[1

]=9999

a #[1, 2, 3, 4]

#花式索引

a=np.arange(0,

50,10)

#左閉右開 和隨機數(閉區間)不同

index=[1

,2,-

1]y=a[index]

y #array([10, 20, 40])

#或者布林值

mask=np.array([0

,0,2

,0,1

],dtype=

bool

)#規模要與原陣列相同

z=a[mask]

z # array([20, 40])

#where語句

np.where(a>10)

#(array([2, 3, 4], dtype=int64),)

np.where(

true

)#返回索引值元組 預設返回》0的陣列索引 (array([0], dtype=int64),)

#陣列型別

a=np.array([1

,5,2

,3],dtype=

float

)#初始化型別

np.asarray(a,dtype=

int)

#強制型別轉換 原陣列不變

b=a.astype(

int)

#原陣列不變 返回新型別的陣列

#常用陣列操作

np.sort(a)

#從小到大

np.argsort(a)

#返回從小到大排列後的原陣列的索引

a[np.argsort(a)

] np.

max(a)

np.sum

(a)np.std(a)

#標準差

np.cov(a,b)

#相關係數矩陣

#矩陣操作

a=np.array([1

,5,2

,3,5

,6],dtype=

float

)a.shape=2,

3#將一維陣列變為兩行三列 行操作

a=np.array([1

,5,2

,3,5

,6],dtype=

float

)a.reshape(2,

3)#原陣列不變 返回新陣列

a.t #轉置

a.transpose(

)#轉置 a不變 返回新陣列

#陣列之間的操作

#concantenate((a0,a1,a2,...,an),axis=0) #n維陣列??

x=np.array([1

,2,-

3,4,

5])y=np.array([11

,22,33

,44,55

])z=np.array(

(x,y))z

np.vstack(

(x,y)

)#按列進行堆疊 x與y堆成一列 x作為一行 y作為第二行

np.hstack(

(x,y)

)#按行堆疊 把上面的轉置一下 x作為前5列 y作為後五列

np.dstack(

(x,y)

)#轉化成三維

#內建函式

np.abs

(x)np.exp(x)

#??e的x次冪

np.median(x)

#求中值

np.cumsum(x)

# 每個元素等於前面所有元素之和

python資料分析筆記 2Pandas基礎

2.dataframe操作 3.pandas匯 計和計算 額外說明 1.python title 方法返回 標題化 的字串,就是說所有單詞都是以大寫開始,其餘字母均為小寫 見 istitle 2.python str.format 函式,它增強了字串格式化的功能。基本語法是通過 和 來代替以前的 f...

Python資料分析與應用學習筆記2

分析特徵間的關係 2.折線圖 分析特徵內部資料分布與分散狀況 2.餅圖 3.箱線圖 第一部分主要作用是構建出一張空白的畫布,並可以選擇是否將整個畫布劃分為多個部分,方便在同一幅圖上繪製多個圖形的情況。最簡單的繪圖可以省略第一部分,而後直接在預設的畫布上進行圖形繪製。plt.figure 建立乙個空白...

《遊戲資料分析的藝術》讀書筆記2

運營 為產品和使用者提供增效服務,進一步完善加強目標使用者對產品的認知 精細化運營 把資料作為運營基礎,把使用者作為運營中心,把市場作為運營導向 從資料的角度理解運營 運籌 發現解決問題,提供最優解決方案以進行最有效的管理 經營 部署制定目標,戰略策劃活動,發展方向 全域性 長遠 研發一款遊戲時需關...