Numpy常用的資料結構

2021-10-02 11:52:22 字數 4401 閱讀 6770

numpy安裝

pip install numpy

numpy底層是使用c語言來實現運算的效果非常高

資料清洗的意義

資料清洗常用工具

arange和rang的區別

numpy常用的資料結果

numpy常用方法

zeros

ones

dtype

size:返回陣列中使用元素的總和

shape:檢視該陣列的行和列數(返回的結果是元組型別(當只有))

ndmin:檢視陣列為多少維陣列

練習**

# -*- coding: utf-8 -*- 

# @time : 2020/2/1 19:35

# @author : 大資料小j

import numpy as np

"""array

裡面可以傳字串,字典,元組,列表

np.dtype 返回的結果是numpy這個資料型別

dtype=none array裡面有這個引數,這個引數的意思是可以強制轉換資料型別。(強制型別轉換,只能夠是列表和元組,並且裡面的資料為統一資料)

:代表著

"""a = np.array([1

,2,3

,4,5

], dtype=

float

)# [1. 2. 3. 4. 5.] 當傳入的資料型別為列表型別,返回的結果為列表型別

b = np.array((1

,2,3

,4,5

))# [1 2 3 4 5] 當傳入的資料為元組型別,返回的結果也是列表型別

c = np.array(

'demo'

)# demo 當傳入字串型別,返回的結果為字串型別

d = np.array(

)# 當傳入的結果為字典型別,返回的結果為字典型別

# print(np.dtype) # 返回的結果為numpy這個資料型別

e = np.array((1

,2,3

,4,5

), dtype=

str)

# ['1' '2' '3' '4' '5'] 可以強制轉換為字串型別

arr = np.array([[

1,2,

3,4]

,[5,

6,7,

8],[

9,10,

11,12]

])# 使用array可以建立列表巢狀資料,也可以生成二維資料以上等

# print(arr)

# print(arr[0]) # [1 2 3 4]返回的結果為列表的第一行資料,numpy也是從0開始

# print(arr[1]) # [5 6 7 8]返回的結果為列表的第二行資料

# print(arr[2]) # [ 9 10 11 12]返回的結果為列表的第三行資料

# print(arr[1:2]) # [[5 6 7 8]] 返回的結果是遵從左閉右開的原則。

# print(arr[1:3]) #[[ 5 6 7 8] [ 9 10 11 12]]

# print(arr[0, 1]) # 2 array中是以」,「來操控

"""np.arange()

意思:和range差別不大,但可以指定步長為浮點型

這個方法是numpy裡面的迭代器與range和像

arange 和 range 有什麼區別? 區別在於 arange可以生成浮點型 range只能生成整型

arange 也是乙個左閉右開的原則

"""ara = np.arange(1,

10,0.5)

# [1. 1.5 2. 2.5 3. 3.5 4. 4.5 5. 5.5 6. 6.5 7. 7.5 8. 8.5 9. 9.5] 可以指定步長為浮點型

# print(ara)

"""linspace

意思:等差陣列

常見的引數: start, stop, num=50, endpoint=true

start:開始值

stop: 結束值

num=50: 預設情況下,這個引數為50,這代表著元素個數,生成的元素

endpoint=true : 預設情況下為true,意思是:是否包含其結束值(也就是stop)

"""# lin = np.linspace(1, 10, 10, endpoint=true) # endpoint預設情況下為true,當我們想不包含其結束值的時候可修改為false

# print(lin) # [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.] 返回的結果為浮點型別的等差陣列

lin2 = np.linspace(1,

5,10, endpoint=

true

)# [1. 1.44444444 1.88888889 2.33333333 2.77777778 3.22222222

# 3.66666667 4.11111111 4.55555556 5. ] 生成的結果演算法為4/9

"""zeros

意思:生成乙個為0的資料

常見的引數shape, dtype=none, order='c'

shape:傳參 (傳入的資料型別可以為列表,元組).第乙個值為行,第二個值為列

dtype:強制型別轉換

ones

意思:生成乙個為1的資料

常見的引數shape, dtype=none, order='c'

shape:傳參 (傳入的資料型別可以為列表,元組),第乙個值為行,第二個值為列

dtype:強制型別轉換

ndim

意思:判斷乙個陣列是幾維陣列

shape

意思:檢視陣列為幾行幾列。當為一維陣列的時候(返回的結果為(4,))

返回的資料型別為元組型別

size

意思:返回陣列裡面有多少個元素

dtype

意思:返回陣列的資料型別

"""ze = np.zeros(shape=[4

,5])

# 生成乙個四行五列的二維資料

ze1 = np.zeros(4)

# [0. 0. 0. 0.] 返回的結果為一維陣列 預設情況下為浮點型別

# print(ze1)

on = np.ones(4)

# [1. 1. 1. 1.] 生成乙個一維陣列 預設情況下為浮點資料型別

on1 = np.ones([4

,5], dtype=

int)

# 生成乙個二維陣列 浮點型

# print(on1+1.5) # 可以對陣列的值進行加法運算

# print(on1.ndim) # 2 檢視陣列的行和列,返回為元組型別

# print(on.shape) # (4,) 返回的結果為元組型別 一維陣列直接輸出列數

print

(on1.shape)

#(4, 5) 二維陣列先行後列

# print(on.size) # 4 返回陣列裡面的元素個數

# print(on1.size) # 20

# print(on.dtype) # float64 返回的結果為浮點型別

# print(on1.dtype) # int32 返回的結果為整型

data =((

1,1.5,

2.5,

3.3,

4.4,),

(2,3.4

,5.5

,6.6

,7.7),

(7.7

,8.8

,9.9

,2.2

,6.7))

demo = np.array(data)

# print(demo[1, 4]) # 2.5 從0開始,第乙個值為行索引,第二個值代表列索引

# print(demo[1:, 2]) # [5.5 9.9] 先選擇第一行以後的陣列,在選擇第一行以後的陣列的第二個列數

# print(demo[:, 1:3]) # 不選擇起始值和結束值, 在進行選擇行的第1列到第3列(但不包含第三列)

Numpy 基礎資料結構

numpy是python中乙個執行速度非常快的的數學庫,主要用於陣列計算,包含 接下來,我會系列介紹numpy的知識點,包含其基礎資料結構,通用函式,索引及切片,隨機數生成,資料的讀取與輸出。本篇先從numpy的基礎資料結構開始。事實上,pyhton中乙個更常用且強大的工具包pandas就是在num...

numpy 基礎資料結構

陣列的維數稱為秩 rank 一維陣列的秩為1,二維陣列的秩為2,以此類推 在numpy中,每乙個線性的陣列稱為是乙個軸 axes 秩其實是描述軸的數量 比如說,二維陣列相當於是兩個一維陣列,其中第乙個一維陣列中每個元素又是乙個一維陣列,所以一維陣列就是numpy中的軸 axes 第乙個軸相當於是底層...

常用的資料結構

人們常說資料結構,面試的時候也常被問道資料結構相關的問題,到底什麼是資料結構?資料結構是計算機儲存 組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。資料結構在計算機...