ndarray
儲存風格:【ndarray 相同型別】【list - 不同型別 】
並行化運算: ndarray支援向量化運算
底層語言:c語言,解除了gil
1.屬性
ndarray.shape #大小(幾行幾列)
ndarray.ndim #維度(幾維)
ndarray.size #多少個元素
ndarray.itemsize #每個元素的大小
ndarray.dtype #元素的資料型別
2.方法
#返回新的ndarray,原始資料沒有改變
data.reshape((10
,8))
#沒有返回值,對原始的ndarray進行了修改
data.resize((10
,8))
#轉置 行變成列,列變成行
data.t
data.astype(
"int32"
)data.tostring(
)#序列化到本地
data.
max(axis=
0)
np.zeros(shape=(3
,4), dtype=
"float32"
)np.ones(shape=[2
,3], dtype=np.int32)
np.eye(
4)
np.array(
[1.1
,2.2
,3.3
], dtype=
"float32"
)np.array(
[1.1
,2.2
,3.3
], dtype=np.float32)
data1 = np.array(score)
#深拷貝
data2 = np.asarray(score)
#淺拷貝
data3 = np.copy(score)
#深拷貝
np.linspace(0,
10,5)
#5是資料個數
np.arange(0,
11,5)
#5是步長
# 均勻分布
data1 = np.random.uniform(low=-1
, high=
1, size=
1000000
)# 正態分佈
data2 = np.random.normal(loc=
1.75
, scale=
0.1, size=
1000000
)data3 = np.random.normal(0,
1,(10
,5))
np.unique(temp)
set(data)
# 1 邏輯判斷, 如果大於0.5就標記為true 否則為false
data >
0.5# 如果大於0.5就標記為true 否則為false;返回全資料的true/false矩陣
data[0:
2,0:
5]>
0# (data > 0.5) and (data < 1)
np.logical_and(data >
0.5, data <1)
np.logical_or(data >
0.5, data <
-0.5
)#判斷是否有nan值
np.isnan(data)
#返回全資料的true/false矩陣
np.all()【只要有乙個false就返回false,只有全是true才返回true】
np.any()【只要有乙個true就返回true,只有全是false才返回false】
data[data >
0.5]
=1.1
# 將邏輯判斷為true的設定為1.1
np.all
(stock_change[0:
2,0:
5]>0)
# 判斷是否全都符合條件,返回true/false
np.any
(stock_change[:5
,:]>0)
# 判斷是否存在滿足條件的資料,返回true/false
np.where(布林值, true的位置的值, false的位置的值)
np.where(data >0,
1,0)
np.where(np.logical_or(data >
0.5, data <
-0.5),
11,3)
統計指標:【min, max, mean, median, var, std】
data.
max(axis=0)
np.max
(data, axis=-1
)np.argmax(data, axis=-1
)# 返回最大值、最小值所在位置
#np.argmin(temp, axis=)
weights_mat = np.mat([[
0.3],[
0.7]
])
# data, weights為2維陣列
np.matmul(data, weights)
np.dot(data, weights)
# data_mat 、 weights_mat為矩陣
data_mat * weights_mat
data @ weights
#水平方向合併(追加列)
np.hstack(
(a, b)
)np.concatenate(
(a, b)
, axis=1)
#垂直合併(追加行)
np.vstack(
(a, b)
)np.concatenate(
(a, b)
, axis=
0)
data = np.genfromtxt(
"test.csv"
, delimiter=
",")
np.count_nonzero(data)
# 統計陣列中非零元素的個數
python3資料分析(2)陣列的簡單運算
陣列很重要,它能夠使你不用編寫迴圈語句就可以對資料執行批量操作!然而python的6大基礎資料型別中卻並沒有陣列型別!所以我們需要使用numpy來構建我們的陣列!不用迴圈語句,直接將資料處理成可以進行批量操作的過程叫做資料的向量化!然而程式設計師眼中陣列的概念也就是我們物理學上的向量,數學上的向量!...
Python之資料分析(寶可夢資料分析)
在此感謝阿里雲天池平台提供的學習平台,並提供相應的教程供小白們學習資料分析。seaborn庫 seaborn 是基於 python 且非常受歡迎的圖形視覺化庫,在 matplotlib 的基礎上,進行了更高階的封裝,使得作圖更加方便快捷。即便是沒有什麼基礎的人,也能通過極簡的 做出具有分析價值而又十...
python資料分析之Numpy
numpy系統是python的一種開源的數值計算擴充套件 ndarray 多維陣列 所有元素必須是相同型別 ndim屬性,維度個數 shape屬性,各維度大小 dtype屬性,資料型別 coding utf 8 import numpy as np 生成指定維度的隨機多維資料 data np.ran...