學習視頻:Python數據分析與展示_北京理工大學_哔哩哔哩_bilibili P4-P10
#一維數據:列表和集合類型
[1,2,3] #有序
{1,2,3} #無序#二維數據:列表類型
[[1,2,3],
[4,5,6]]#多維數據
[[[1,2,3],
[4,5,6]],
[7,8,9],
[4,4,4]]#高維數據:字典類型或數據表示格式,例如JSON、XML、YAML
dict={
'firstName':'Tian',
'lastName':'Song',
}
NumPy是一個開源的python科學計算基礎庫,包含:
NumPy是SciPy、Pandas等數據處理或科學計算庫的基礎
NumPy的引用:
import numpy as np
#這是一種約定俗成的引用名稱,建議使用上述約定的別名
python已經有列表類型,為什麼需要一個數組對象?
例:
#計算A^2+B^2,其中A和B是一維數組
import numpy as np
#使用列表的方式
def pySum():
a=[0,1,2,3,4]
b=[5,6,7,8,9]
c=[]
for i in range(len(a)):
c.append(a[i]**2+b[i]**2)
return c
print("pySum-->",pySum())
#使用數組的方式
def npSum():
a=np.array([0,1,2,3,4])
b=np.array([5,6,7,8,9])
c=a**2+b**2
return c
print("npSum-->",npSum())
#運行結果
'''
pySum--> [25, 37, 53, 73, 97]
npSum--> [25 37 53 73 97]
'''
#可見如果采用數組的方式,numy把一維向量當作單個數據對待,這樣更有利於進行科學計算
ndarray對象的構成:
ndarry實例:
ndarray數組一般要求所有元素類型相同(同質),數組下標從0開始
ndarry實例:
import numpy as np
#ndarray在程序中的別名是:array
#np.array()生成一個ndarray數組
a=np.array([[0,1,2,3,4],
[5,6,7,8,9]])
print(a) #np.array()輸出成[]形式,元素有空格分割
'''
[[0 1 2 3 4]
[5 6 7 8 9]]
'''
#軸(axis):保存數據的維度;秩(rank):軸的數量
ndarray對象的屬性
實例:
import numpy as np
a=np.array([[1,2,3,4],
[5,6,7,8]])
print("維度:",a.ndim)
print("尺度:",a.shape)
print("元素個數:",a.size)
print("元素的類型:",a.dtype)
print("元素的大小:",a.itemsize)
'''
維度: 2
尺度: (2, 4)
元素個數: 8
元素的類型: int32
元素的大小: 4
'''
ndarray的元素類型
非同質的ndarray對象
非同質的ndarray元素為對象類型,無法有效發揮NumPy優勢,盡量避免使用
import numpy as np
a=np.array([[1,2,3,4],
[5,6,7]])
print("尺度:",a.shape)
print("元素個數:",a.size)
print("元素的類型:",a.dtype)
print("元素的大小:",a.itemsize)
'''
尺度: (2,)
元素個數: 2
元素的類型: object
元素的大小: 8
'''
#此時每個一維向量被當成一個對象(元素)
ndarray數組的創建
從python中的列表、元組等類型創建ndarray數組
x=np.array(list/tuple,dtype=np.float32)
#當np.array()不指定dtype時,NumPy將根據情況關聯一個dtype類型
例子:
使用NumPy中函數創建ndarray數組,如:arrange,ones,zeros
注:使用np.arange()方法創建的數組默認是int32類型,另外幾種方法默認是float類型
例子:
例子:
例子:
ndarray數組的變換
ndarray數組的維度變換
例子:
ndarray數組的類型變換
new_a = a.astype(new_type)
#astype()方法一定會創建新的數組()原始數組的一個拷貝,即使兩個類型一致
例子:
ndarray數組向列表的轉換
ls=a.tolist()
例子:
ndarray數組的操作
ndarray數組的索引和切片
一維數組的索引和切片:與python的列表類似
多維數組的索引:
多維數組的切片:
ndarray數組的運算
數組與標量之間的運算作用於數組的每一個元素
NumPy一元函數
例子:
NumPy二元函數
例子:
轉載於:python數據分析與展示(一) - 元騎鯨 - 博客園
This is the continuous reform