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