python3資料分析(2)陣列的簡單運算

2021-08-19 17:08:06 字數 2245 閱讀 6807

陣列很重要,它能夠使你不用編寫迴圈語句就可以對資料執行批量操作!然而python的6大基礎資料型別中卻並沒有陣列型別!所以我們需要使用numpy來構建我們的陣列!

不用迴圈語句,直接將資料處理成可以進行批量操作的過程叫做資料的向量化!然而程式設計師眼中陣列的概念也就是我們物理學上的向量,數學上的向量!

下面帶來一些numpy中陣列的簡單運算以及使用

import numpy as np

#定義乙個陣列

test_array = np.array([[1,2,3],[3,4,5]])

###陣列簡單的加減乘除法

#加法print(test_array+1)

#返回[[2 3 4][4 5 6]]

#減法print(test_array-11)

#返回[[-10 -9 -8][ -8 -7 -6]]

#乘法print(test_array*3)

#返回[[ 3 6 9][ 9 12 15]]

#除法print(test_array/2)

#返回[[0.5 1. 1.5][1.5 2. 2.5]]

###陣列的索引和切片

test_arr = np.arange(10)

print(test_arr)

print(test_arr[1])

print(test_arr[1:5])

###使用列表或陣列來進行賦值

test_arr[1:5] = [6,6,6,6]

print(test_arr)

test_arr[1:5] = np.array([9,9,9,9])

print(test_arr)

###陣列的單元素賦值

test_arr[1:5] = 12

print(test_arr)

#兩個注意點

#(a)乙個標量的賦值瞬間實現整個切片區域的賦值,叫做numpy的廣播功能

#(b)陣列切片和列表切片,僅陣列切片有廣播功能

###列表和陣列的乙個重要的區別

#跟列表切片最大的區別是陣列切片是原陣列的檢視,這就意味著原陣列資料不會被複製保留,檢視上任何改變都會影響原陣列。

#所以,陣列切片賦值會改變原陣列,列表切片賦值不會改變願列表,想要改變列表需要直接給列表賦值。

#二維陣列的索引和切片

#建立乙個3x3的二維陣列

test_arr = np.arange(9).reshape(3,3)

print(test_arr)

#取出4

print(test_arr[1,1])#第乙個引數為行號,第二個引數為列號

#三維陣列的索引和切片

#建立乙個有兩個3x3二位陣列的三維陣列

test_arr = np.arange(18).reshape(2,3,3)#第乙個引數為總共有幾個元素,第二個引數為行號,第三個引數為列號

print(test_arr)

#取出9

print(test_arr[1,0,0])

#若array切片時不想改變原array的結構,可以使用copy()先進行拷貝

test_*** = np.arange(18).reshape(2,3,3)

test_ttt = test_***.copy()

test_ttt[1,0,0] = 333

print(test_***)

print(test_ttt)

###布林形索引(進行篩選)

name = np.array(['wiz','gougou,','ac','lc'])

score = np.array([[99,99,99],[88,88,88],[81,87,66],[100,100,100]])

print(score[name=='wiz'])

###陣列的轉置

arr = np.arange(16).reshape(2,2,4)

print(arr)

print(arr.t)

###numpy的基本數學統計方法

#方差(體現陣列中資料的離散情況,數值越小資料越穩定)

arr = np.arange(16).reshape(2,4,2)

print(arr.var())

#標準差

print(arr.std())

python3資料分析之Numpy

ndarray 儲存風格 ndarray 相同型別 list 不同型別 並行化運算 ndarray支援向量化運算 底層語言 c語言,解除了gil 1.屬性 ndarray.shape 大小 幾行幾列 ndarray.ndim 維度 幾維 ndarray.size 多少個元素 ndarray.item...

Python3 資料分析(一) 相關庫介紹

這些庫都是第三方庫,python自帶的標準庫中沒有,所以要先安裝才能使用 第三方庫名稱 簡介numpy 提供陣列支援,以及相應的高效的處理函式 scipy 提供矩陣支援,以及矩陣相關的數值計算模組 matplotlib 強大的資料視覺化工具 繪相簿 pandas 強大 靈活的資料分析和探索工具 st...

資料分析2

在原始arxiv資料集中 作者authors欄位是乙個字串格式,其中每個作者使用逗號進行分隔分,所以我們我們首先需要完成以下步驟 在python中字串是最常用的資料型別,可以使用引號 或 來建立字串。python中所有的字元都使用字串儲存,可以使用方括號來擷取字串。如下例項 an highlight...