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