python資料處理庫 numpy

2021-08-22 13:28:20 字數 1975 閱讀 4526

之前在寫python的資料處理庫的安裝教程時寫過一點介紹。但是不是很詳細,最近在整理複習,所以寫篇部落格整理下。

numpy是python科學計算的基礎包,它提供:

快速高效的多維陣列物件ndarray;

直接對陣列執行數**算及對陣列執行元素級計算的函式;

線性代數運算、隨機數生成;

將c、c++、fortran**整合到python的工具等。

在進入正題之前,我們需要對python中的資料複製進行說明,這也是筆者之前一直忽略的地方。與其他語言不同,為了節省空間以及適應大資料量的處理工作,python對資料複製分成了幾種型別:

a=b:a和b完全相同,並且指向磁碟同一塊資料

c=a.view():a和c指向不同的東西,磁碟中儲存位置不同,但是共用元素值,類似於資料庫中的檢視

d=a.copy():a和d是完全不同的兩個東西

引入numpy的方式:import numpy as np

1.numpy陣列(array)的建立

通過array方式建立,向array中傳入乙個list實現

一維陣列的建立:

>>> np.array([1,2,3])

array([1, 2, 3])

二維陣列的建立:

>>> np.array([[1,2,3],[4,5,6]])

array([[1, 2, 3],

[4, 5, 6]])

通過arange建立陣列:

例如:建立乙個0-1間隔為0.1的行向量,從0開始,不包括1:

>>> np.arange(0,1,0.1)

array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])

例:通過對齊廣播方式生成乙個多維的陣列:

>>> np.arange(1,60,10).reshape(-1,1) + np.arange(0,6)

array([[ 1, 2, 3, 4, 5, 6],

[11, 12, 13, 14, 15, 16],

[21, 22, 23, 24, 25, 26],

[31, 32, 33, 34, 35, 36],

[41, 42, 43, 44, 45, 46],

[51, 52, 53, 54, 55, 56]])

通過linspace函式建立陣列:

下例中建立乙個0~1間隔為1/9的行向量(按等差數列形式生成),從0開始,包括1:

>>> np.linspace(0,1,10)

array([0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,

0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])

通過logspace函式建立陣列:

下例中建立乙個1~100,有20個元素的行向量(按等比數列形式生成),

其中0表示10^0=1,2表示10^2=100,從1開始,包括100

>>> np.logspace(0,2,20)

array([ 1. , 1.27427499, 1.62377674, 2.06913808,

2.6366509 , 3.35981829, 4.2813324 , 5.45559478,

6.95192796, 8.8586679 , 11.28837892, 14.38449888,

18.32980711, 23.35721469, 29.76351442, 37.92690191,

48.32930239, 61.58482111, 78.47599704, 100. ])

未完待續。。

Python 資料處理

將檔案切分,存入列表 strip split with open james.txt as jaf data jaf.readline james data.strip split 資料檔案為 2 34,3 21,2.34,2.45,3.01,2 01,2 01,3 10,2 22 print ja...

Python 資料處理

本場 chat 為 python 資料處理課程,包括 python 基礎知識 極簡教程 提公升 python 執行效率的方法 爬蟲簡介 scrapy selenium 自動化測試框架 簡易分布式 redis 分詞程式設計 jieba 資料儲存 本地資料上傳 hive 通過本場 chat 讀者可學到以...

Python資料處理

用傳統的電子 來處理資料不僅效率低下,而且無法處理某些格式的資料,對於混亂或龐大的資料集更是束手無策。本書將教你如何利用語法簡單 容易上手的python輕鬆處理資料。作者通過循序漸進的練習,詳細介紹如何有效地獲取 清洗 分析與呈現資料,如何將資料處理過程自動化,如何安排檔案編輯與清洗任務,如何處理更...