-
數(shù)組的讀取
一、load()函數(shù)
讀取“.npy”和“.npz”文件中的數(shù)組
numpy.load(file,mmap_mode,allow_pickle,fix_imports)
mmap_mode表示內(nèi)存的映射模式,即在讀取較大的NumPy數(shù)組時(shí)的模式,默認(rèn)情況下是None
二、代碼練習(xí)
import numpy as np
a2 = np.load("array_save.npy")
print(a2)
print("------------------------------")
arr = np.load('array_savez.npz')
print(arr['array_a1'])
print("------------------------------")
print(arr['array_a2'])
print("------------------------------")
print(arr['array_a3'])
print("------------------------------")
arr1 = np.load('array_savez_compressed.npz')
print(arr1['array_a1'])
print("------------------------------")
print(arr1['array_a2'])
print("------------------------------")
print(arr1['array_a3'])
查看全部 -
數(shù)組的保存
一、save()函數(shù)
該函數(shù)可以將一個(gè)數(shù)組保存至后綴名為“.npy”的二進(jìn)制文件中
numpy.save(file,arr,allow_pickle=True,fix_imports=True)
file表示文件名/文件路徑
arr表示要存儲的數(shù)組
allow_pickle為布爾值,表示是否允許使用pickle來保存數(shù)組對象
fix_imports為布爾值,表示是否允許在Pyhton2中讀取Python3保存的數(shù)據(jù)
二、savez()函數(shù)
該函數(shù)可以將多個(gè)數(shù)組保存到未壓縮的后綴名未“.npz”的二進(jìn)制文件中?
numpy.savez(file,array_a1=a1,array_a2=a2,...array_an)
file表示文件名/文件路徑
array_a1=a1,array_a2=a2,...array_an表示需要儲存的多個(gè)數(shù)組
三、savez_compressed()函數(shù)
該函數(shù)可以將多個(gè)數(shù)組保存到壓縮的后綴名為“.npz”的二進(jìn)制文件中
numpy.savez_compressed(file)
file表示文件名/文件路徑
四、代碼練習(xí)
import numpy as np
# %% save()
a2 = np.array([[1,2,3],
? ? ? ? ? ? ? ?[4,5,6],
? ? ? ? ? ? ? ?[7,8,9]])
np.save("array_save", a2)
# %% savez()
a1 = np.array([1,2,3])
a2 = np.array([[4,5,6],
? ? ? ? ? ? ? ?[7,8,9]])
a3 = np.array([10,11,12])
np.savez("array_savez",array_a1=a1,array_a2=a2,array_a3=a3)
# %% savez_compressed()
a1 = np.array([1,2,3])
a2 = np.array([[4,5,6],
? ? ? ? ? ? ? ?[7,8,9]])
a3 = np.array([10,11,12])
np.savez_compressed("array_savez_compressed",array_a1=a1,array_a2=a2,array_a3=a3)
查看全部 -
聚合函數(shù)
一、求和
1、使用Numpy中sum()函數(shù)
numpy.sum(a,axis=None
2、使用Numpy中nansum()函數(shù),該函數(shù)忽略NaN
numpy.nansum(a,axis=None)
3、使用數(shù)組對象的sum()方法
numpy.ndarray.sum(axis=None)
二、求最大值
1、使用NumPy中amax()函數(shù)
numpy.amax(a,axis=None)
2、使用NumPy中nanmax()函數(shù),該函數(shù)忽略NaN
numpy.nanmax(a,axis=Nome)
3、使用數(shù)組對象的max()方法
numpy.naarray.max(axis=None)
三、求最小值
1、使用NumPy中amin()函數(shù)
numpy.amin(a,axis=None)
2、使用NumPy中nanmin()函數(shù),該函數(shù)忽略NaN
numpy.nanmin(a,axis=Nome)
3、使用數(shù)組對象的min()方法
numpy.naarray.min(axis=None)
四、求平均值
1、使用NumPy中mean()函數(shù)
numpy.mean(a,axis=None)
2、使用NumPy中nanmean()函數(shù),該函數(shù)忽略NaN
numpy.nanmean(a,axis=Nome)
3、使用數(shù)組對象的mean()方法
numpy.naarray.mean(axis=None)
五、求加權(quán)平均值
1、使用NumPy中average()函數(shù)
numpy.average(a,axis=None,weights=None)
weights表示權(quán)重
六、代碼練習(xí)
import numpy as np
# %% 求和
a1 = np.array([[1,2],
? ? ? ? ? ? ? ?[3,4]])
print(np.sum(a1))
print(np.sum(a1,axis=1))
print(a1.sum(axis=1))
print("-------------------------")
a2 = np.array([[1,2],
? ? ? ? ? ? ? ?[3,np.nan]])
print(np.nansum(a2))
print(np.nansum(a2,axis=1))
# %% 求最大值
a1 = np.array([[1,2],
? ? ? ? ? ? ? ?[3,4]])
print(np.amax(a1))
print(np.amax(a1,axis=1))
print(a1.max(axis=1))
print("--------------------------")
a1 = np.array([[1,2],
? ? ? ? ? ? ? ?[np.nan,4]])
print(np.nanmax(a1))
print(np.nanmax(a1,axis=1))
# %% 求最小值
a1 = np.array([[1,2],
? ? ? ? ? ? ? ?[3,4]])
print(np.amin(a1))
print(np.amin(a1,axis=1))
print(a1.min(axis=0))
print("---------------------------")
a1 = np.array([[1,np.nan],
? ? ? ? ? ? ? ?[3,4]])
print(np.nanmin(a1))
print(np.nanmin(a1,axis=1))
# %% 求平均值
a1 = np.array([[1,2],
? ? ? ? ? ? ? ?[3,4]])
print(np.mean(a1))
print(np.mean(a1,axis=1))
print(a1.mean(axis=0))
print("------------------------------")
a1 = np.array([[np.nan,2],
? ? ? ? ? ? ? ?[3,4]])
print(np.nanmean(a1))
print(np.nanmean(a1,axis=0))
# %% 求加權(quán)平均值
a1 = np.array([[1,2],
? ? ? ? ? ? ? ?[3,4]])
print(np.mean(a1))
print(np.average(a1,weights=[[0.4,0.2],[0.2,0.2]]))
查看全部 -
排序函數(shù)
一、sort()函數(shù)
1、按照軸對數(shù)組進(jìn)行排序,即軸排序
numpy.sort(a,axis=-1,kind='quicksort',order=None)
2、a表示要排序的數(shù)組
3、axis表示排序的軸索引,默認(rèn)是-1,表示最后一個(gè)軸
4、kind表示排序類型。quicksort:快速排序,為默認(rèn)值,速度最快建議使用;mergesort:歸并排序;heapsort:堆排序。
5、order表示排序字段。
二、argsort()函數(shù)
1、按照軸對數(shù)組進(jìn)行排序索引,即軸排序索引
numpy.argsort(a,axis=-1,kind='quicksort',order-None)
2、a表示要排序的數(shù)組
3、axis表示排序的軸索引,默認(rèn)是-1,表示最后一個(gè)軸
4、kind表示排序類型。quicksort:快速排序,為默認(rèn)值,速度最快建議使用;mergesort:歸并排序;heapsort:堆排序。
5、order表示排序字段。
三、代碼練習(xí)
import numpy as np
# %% sort()
a1 = np.random.randint(0,10,size=(4,5))
b1 = np.sort(a1)
print(a1)
print("-------------------------------")
print(b1)
print("-------------------------------")
b2 = np.sort(a1,axis=0)
print(b2)
# %% argsort()
a1 = np.random.randint(0,10,size=(4,5))
b1 = np.argsort(a1)
print(a1)
print("-------------------------------")
print(b1)
print("-------------------------------")
b2 = np.argsort(a1,axis=0)
print(b2)
查看全部 -
隨機(jī)數(shù)函數(shù)
一、rand()函數(shù)
1、該函數(shù)返回[0.0,1.0)的隨機(jī)浮點(diǎn)數(shù),即大于等于0.0,且小于1.0的隨機(jī)浮點(diǎn)數(shù)。
numpy.random.rand(d0,d1,...,dn)
2、d0,d1,...dn表示數(shù)組的形狀。
二、randint()函數(shù)
1、該函數(shù)返回[low,high)的隨機(jī)整數(shù),如果high省略,則返回[0,low)的隨機(jī)整數(shù)。
numpy.random.randint(low,high,size,dtype)
2、size表示數(shù)組的形狀,需要傳元組
3、dtype數(shù)據(jù)類型
三、normal()函數(shù)
1、該函數(shù)返回正態(tài)分布隨機(jī)數(shù)
numpy.random.normal(loc,scale,size)
2、loc表示平均值
3、scale表示標(biāo)準(zhǔn)差
4、size表示數(shù)組的形狀,需要傳元組
四、randn()函數(shù)
1、該函數(shù)返回標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù),即平均數(shù)為0,標(biāo)準(zhǔn)差1的正太分布隨機(jī)數(shù)
numpy.random.randn(d0,d1,...,dn)
2、d0,d1,...dn表示數(shù)組的形狀。
五,代碼練習(xí)
import numpy as np
# %% rand()
a1 = np.random.rand(10)
print(a1)
print("----------------------------")
a2 = np.random.rand(3,4)
print(a2)
# %% randint()
a1 = np.random.randint(3,7,(5,))
print(a1)
print("----------------------------")
a2 = np.random.randint(6,size=(3,3))
print(a2)
# %% normal()
a1 = np.random.normal(10,3,(3,5))
print(a1)
# %% randn()
a1 = np.random.randn(3,4)
print(a1)
查看全部 -
數(shù)組廣播
數(shù)組與標(biāo)量或者不同形狀的數(shù)組進(jìn)行算術(shù)的時(shí)候,就會發(fā)生數(shù)組廣播
一、數(shù)組與標(biāo)量
數(shù)組與標(biāo)量進(jìn)行算術(shù)運(yùn)算,相當(dāng)于先將標(biāo)量廣播成相同形狀的數(shù)組,然后再進(jìn)行算術(shù)運(yùn)算。
二、數(shù)組與數(shù)組
數(shù)組與不同形狀的數(shù)組進(jìn)行算術(shù)運(yùn)算時(shí),會發(fā)生廣播,需遵守以下廣播原則
1、先比較形狀,再比較維度,最后比較對應(yīng)軸長度。
2、如果兩個(gè)數(shù)組維度不相等,會在維度較低數(shù)組的形狀左側(cè)填充1,直到維度與高維數(shù)組相等。
3、如果兩個(gè)數(shù)組維度相等時(shí),要么對應(yīng)軸的長度相同,要么其中一個(gè)軸長度為1,則兼容的數(shù)組可以廣播,長度為1的軸會被擴(kuò)展。
三、代碼練習(xí)
import numpy as np
# %% 數(shù)組與標(biāo)量廣播
a1 = np.array([1,2,3])
print(a1+2)
# %% 數(shù)組與數(shù)組廣播
a1 = np.array([1,2])
b1 = np.array([[3,4],
? ? ? ? ? ? ? [5,6]])
print(a1+b1)
print("---------------------")
a2 = np.array([[1,2]])
b2 = np.array([[3],
? ? ? ? ? ? ? ?[4]])
print(a2+b2)
print("---------------------")
# %% 數(shù)組與數(shù)組(不兼容)
a2 = np.array([[1,2]])
b2 = np.array([[3,4,5],
? ? ? ? ? ? ? ?[6,7,8]])
print(a2+b2)
查看全部 -
數(shù)組的算數(shù)運(yùn)算
一、數(shù)組對象可以使用Python原生的算術(shù)運(yùn)算符
二、代碼練習(xí)
import numpy as np
# %% 一維數(shù)組的算術(shù)運(yùn)算
a1 = np.array([1,2,3])
b1 = np.array([4,5,6])
print(a1+b1)
print(a1**b1)
print(a1**2)
# %% 二維數(shù)組的算術(shù)運(yùn)算
a2 = np.array([[1,2],
? ? ? ? ? ? ? ?[3,4]])
b2 = np.array([[5,6],
? ? ? ? ? ? ? ?[7,8]])
print(a2+b2)
print(a2+2)
查看全部 -
分割數(shù)組
一、split()函數(shù)
1、該函數(shù)指沿指定的軸分割多個(gè)數(shù)組
numpy.split(ary,indices_or_sections,axis)
2、ary是要被分割的數(shù)組
3、indices_or_sections是一個(gè)整數(shù)或數(shù)組,如果是整數(shù)就用該數(shù)平均分割;如果是數(shù)組,則為沿指定軸的切片操作
4、axis指軸的分割方向,默認(rèn)為0軸。
二、vsplit()函數(shù)
1、該函數(shù)指沿垂直方向分割數(shù)組,相當(dāng)于split()函數(shù)axis=0情況
numpy.vsplit(ary,indices_or_sections)
2、ary是要被分割的數(shù)組
3、indices_or_sections是一個(gè)整數(shù)或數(shù)組,如果是整數(shù)就用該數(shù)平均分割;如果是數(shù)組,則為沿指定軸的切片操作
三、hsplit()函數(shù)
1、該函數(shù)指沿水平方向分割數(shù)組,相當(dāng)于split()函數(shù)axis=1情況
numpy.hsplit(ary,indices_or_sections)
2、ary是要被分割的數(shù)組
3、indices_or_sections是一個(gè)整數(shù)或數(shù)組,如果是整數(shù)就用該數(shù)平均分
四、代碼練習(xí)
# %% split()函數(shù)分割一維數(shù)組(整數(shù))
import numpy as np
a1=np.arange(9)
b1=np.split(a1, 3)
print(b1)
print("--------------------------")
# %% split()函數(shù)分割一維數(shù)組(數(shù)組)
a1 = np.arange(9)
sections=np.array([4,7])
b1 = np.split(a1,sections)
print(b1)
print("--------------------------")
# %% split()函數(shù)和vsplit()函數(shù)分割二維數(shù)組(整數(shù))
a2=np.array([[1,2,3,4],
? ? ? ? ? ? ?[5,6,7,8],
? ? ? ? ? ? ?[9,10,11,12],
? ? ? ? ? ? ?[13,14,15,16]])
b2=np.split(a2, 4)
print(b2)
print("--------------------------")
b3 = np.vsplit(a2, 4)
print(b3)
# %% split()函數(shù)和hsplit()函數(shù)分割二維數(shù)組(數(shù)組)
a2=np.array([[1,2,3,4],
? ? ? ? ? ? ?[5,6,7,8],
? ? ? ? ? ? ?[9,10,11,12],
? ? ? ? ? ? ?[13,14,15,16]])
sections=np.array([1,2])
b2=np.split(a2,sections,axis=1)
print(b2)
print("--------------------------")
b3=np.hsplit(a2,sections)
print(b3)
查看全部 -
連接數(shù)組
一、concatenate()函數(shù)
1、該函數(shù)指沿指定的軸連接多個(gè)數(shù)組
numpy.concatenate((a1,a2,...),axis)
2、a1,a2是要連接的數(shù)組。注意,除了指定軸外,其他軸元素個(gè)數(shù)必須相同。
3、axis是沿指定軸的索引,默認(rèn)為0軸。
二、vstack()函數(shù)
1、沿垂直堆疊多個(gè)數(shù)組,相當(dāng)于concatenate()函數(shù)axis=0情況
numpy.vstack((a1,a2))
2、注意,1軸上元素個(gè)數(shù)相同
三、hstack()函數(shù)
1、沿水平堆疊多個(gè)數(shù)組,相當(dāng)于concatenate()函數(shù)axis=1情況
numpy.hstack((a1,a2))
2、注意,0軸上元素個(gè)數(shù)相同
四、代碼練習(xí)
# %% concatenate()函數(shù)連接
import numpy as np
a=np.array([[1,2],
? ? ? ? ? ?[3,4]])
b=np.array([[5,6]])
ab=np.concatenate((a, b,))
print(ab)
print("-----------------------------")
a1=np.array([[1,2],
? ? ? ? ? ? ?[3,4]])
b1=np.array([[5,6]])
bt=b1.T
ab1 = np.concatenate((a, bt),axis=1)
print(ab1)
print("-----------------------------")
# %% vstack()函數(shù)連接
a=np.array([[1,2],
? ? ? ? ? ?[3,4]])
b=np.array([[5,6]])
ab = np.vstack((a,b))
print(ab)
print("-----------------------------")
# %% hstack()函數(shù)連接
a=np.array([[1,2],
? ? ? ? ? ?[3,4]])
b=np.array([[5,6]])
bt=b.T
ab=np.hstack((a,bt))
print(ab)
查看全部 -
四、花式索引
1、什么是花式索引
索引為整數(shù)列表
索引為一維整數(shù)數(shù)組
索引為二維整數(shù)數(shù)組
2、注意事項(xiàng)
注:花式索引返回的新數(shù)組與花式索引數(shù)組形狀相同
注:花式索引返回的新數(shù)組與布爾索引類似,屬于深層復(fù)制
注:二維數(shù)組上每一個(gè)軸的索引數(shù)組形狀相同
3、代碼練習(xí)
import numpy as np
# %% 一維數(shù)組的花式索引
a1 = np.array([1,2,3,4,5,6,7,8,9])
b = [0,1,2,3]
print(a1[b])
b1 = np.array([0,1,2,3])
print(a1[b1])
c = np.array([[4,5],
? ? ? ? ? ? ? [6,7]])
print(a1[c])
# %% 二維數(shù)組的花式索引
a2 = np.array([[1,2,3],
? ? ? ? ? ? ? ?[4,5,6],
? ? ? ? ? ? ? ?[7,8,9]])
m = [1,2]
n = [0,1]
print(a2[m,n])
print(a2[m][n])
print("--------------------")
m = np.array([1,2])
n = np.array([0,1])
print(a2[m,n])
print("--------------------")
m = np.array([[1,1],
? ? ? ? ? ? ?[2,0]])
n = np.array([[1,0],
? ? ? ? ? ? ?[1,0]])
print(a2[m,n])
print("--------------------")
m = [1,2]
print(a2[m,2])
m = np.array([1,2])
print(a2[m,2])
m = np.array([[1,1],
? ? ? ? ? ? ? [2,0]])
print(a2[m,2])
查看全部 -
三、布爾索引
注:布爾索引必須與要索引的數(shù)組形狀相同,否則會引發(fā)IndexError錯(cuò)誤。
注:布爾索引返回的新數(shù)組是原數(shù)組的副本,與原數(shù)組不共享相同的數(shù)據(jù)空間,即新數(shù)組的修改不會影響原數(shù)組,這是所謂的深層復(fù)制。
注:布爾索引返回的一定是一維數(shù)組
代碼練習(xí):
import numpy as np
# %% 一維數(shù)組的布爾索引
a1 = np.array([1,2,3,4])
b1 = np.array([True,False,True,False])
print(a1[b1])
# %% 二維數(shù)組的布爾索引
a2 = np.array([[1,2,3],
? ? ? ? ? ? ? ?[4,5,6],
? ? ? ? ? ? ? ?[7,8,9]])
b2 = np.array([[True,False,True],
? ? ? ? ? ? ? ?[True,False,True],
? ? ? ? ? ? ? ?[True,False,True],])
print(a2[b2])
print(a2[b2].shape)
# %% 深層復(fù)制和淺層復(fù)制
# %% 布爾索引
a3 = np.array([1,2,3])
b3 = np.array([True,False,True])
c3 = a3[b3]
print(c3)
c3[1] = 100
print(a3)
print(c3)
## %% 切片訪問
a4 = np.array([7,8,9])
b4 = np.array([False,True,True])
c4 = a4[1:]
print(c4)
c4[1] = 100
print(c4)
print(a4)
查看全部 -
二、切片訪問
1、一維數(shù)組的切片訪問
一維數(shù)組切片訪問宇Python內(nèi)置序列類型切片訪問一樣
注意:切片包括start起始位置元素,不包括end結(jié)束位置元素。
2、二維數(shù)組的切片訪問
3、代碼練習(xí)
import numpy as np
# %% 一維數(shù)組切片
a = np.array([1,3,5,7,9])
print(a[1:3].shape)
print(a[:3])
print(a[1:])
print(a[:])
print(a[1:-1])
print(a[1:-1:2])
# %% 二維數(shù)組切片
b = np.array([[1,2,3],
? ? ? ? ? ? ? [4,5,6],
? ? ? ? ? ? ? [7,8,9]])
print(b[0:2,1:2])
print(b[0:2,1:2].shape)
print(b[:2,1:])
print(b[1:,1].shape)
print(b[1:2,1].shape)
查看全部 -
三種函數(shù)
查看全部 -
一、一維數(shù)組的索引訪問
一維數(shù)組索引訪問與Python內(nèi)置序列類型索引訪問一樣
二、二維數(shù)組索引訪問
?
代碼聯(lián)系:
import numpy as np
# %%?一維數(shù)組的索引訪問 ?
a = np.array([1, 2, 3, 4, 5])
print(a[4], a[-1])
# %% 二維數(shù)組的索引訪問
b = np.array([[1, 3, 5, 7],
? ? ? ? ? ? ? [2, 4, 6, 8],
? ? ? ? ? ? ? [7, 8, 9, 10]])
print(b[2][3],b[2,3],b[-1,-1])
查看全部 -
1、ones()函數(shù)
根據(jù)指定的形狀和數(shù)據(jù)類型生成全為1的數(shù)組
numpy.ones(shape,dtype=None)
shape:數(shù)組的形狀
2、zeros()函數(shù)
根據(jù)指定的形狀和數(shù)據(jù)類型生成全為0的數(shù)組
numpy.zeros(shape,dtype = None)
shape:數(shù)組的形狀
3、full()函數(shù)
根據(jù)指定的形狀和數(shù)據(jù)類型生成數(shù)組,并用指定數(shù)據(jù)填充
numpy.full(shape,fill_value,dtype=None)
shape:數(shù)組的形狀
fill_value:指定填充的數(shù)據(jù)
4、identity()函數(shù)
創(chuàng)建單位矩陣(即對角線元素為1,其他元素為0的矩陣)
numpy.identity(n, dtype = None)
n:數(shù)組的形狀
創(chuàng)建多維數(shù)組代碼:
import numpy as np
# %% noes()
a = np.ones([2, 3],dtype=np.int32)
print(a)
# %% zeros()
b = np.zeros([3, 4])
print(b)
# %% full()
c = np.full([2, 3],10)
print(c)
# %% identity()
d = np.identity(6)
print(d)
查看全部 -
一、數(shù)組的軸
二維數(shù)組有兩個(gè)軸,軸索引分別為0和1
二、數(shù)組轉(zhuǎn)置
我們可以使用數(shù)組對象的屬性T,將數(shù)組進(jìn)行轉(zhuǎn)置。
import numpy as np
lt = [[1, 3, 5],
? ? ? [2, 4, 6]]
a = np.array(lt)
print(a)
b = a.T
print(b)
查看全部 -
其他創(chuàng)建數(shù)組的函數(shù):
1、arange()函數(shù)
我們可以使用arange()函數(shù)創(chuàng)建數(shù)值范圍并返回?cái)?shù)組對象
numpy.arange(start,stop,step,dtype)
start:開始值,默認(rèn)值為0,包含開始值
stop:結(jié)束值,不包含結(jié)束值
step:步長,默認(rèn)值為1,該值可以為負(fù)數(shù)
dtype:數(shù)組元素類型
2、linspace()函數(shù)
我們可以使用linspace()函數(shù)創(chuàng)建等差數(shù)組
numpy.linspace(start,stop,num,endpoint,retstep,dtype)
start:開始值,默認(rèn)值為0,包含開始值
stop:結(jié)束值,不包含結(jié)束值
num:設(shè)置生成元素個(gè)數(shù)
endpoint:設(shè)置是否包含結(jié)束值,F(xiàn)alse不包含,True包含,默認(rèn)是True。
retstep:設(shè)置是否返回步長(即公差),F(xiàn)alse不返回,默認(rèn)值是False,True是返回,當(dāng)值為True時(shí),返回值是二元組,包括數(shù)組和步長。
dtype:數(shù)組元素類型
3、logspace()函數(shù)
我們可以使用logspace()函數(shù)創(chuàng)建等比數(shù)組
numpy.logspace(start,stop,num,endpoint,base,dtype)
start:開始值,值為base**start
stop:結(jié)束值,值為base**stop
num:設(shè)置生成元素個(gè)數(shù)
endpoint:設(shè)置是否包含結(jié)束值,F(xiàn)alse不包含,True包含,默認(rèn)是True。
base:底數(shù)
dtype:數(shù)組元素類型
創(chuàng)建數(shù)組代碼:
# %% 初始值0,結(jié)束值不為10,步長1
a = np.arange(10)
print(a)
# %% 初始值1,結(jié)束值不為10,步長2
b = np.arange(start = 1, stop = 10, step = 2)
print(b)
# %% 將數(shù)據(jù)類型改為雙精度浮點(diǎn)型'f8'
c = np.arange(start = 1, stop = 10, step = 2, dtype = np.float64)
print(c)
# %% 初始值0,結(jié)束值不為-10,步長-3
d = np.arange(0, -10, -3)
print(d)
# %% 初始值0,結(jié)束值10,個(gè)數(shù)9
e = np.linspace(0,10,9)
print(e)
# %% 結(jié)束值不為10,個(gè)數(shù)9
f = np.linspace(0, 10, 10, endpoint=False)
print(f)
# %% setsetp設(shè)置True
g = np.linspace(0, 10, 10, endpoint = False, retstep=True)
print("{0}-{1}-{2}".format(g, g[0], g[1]))
# %% 初始值10**0,結(jié)束值10**3,個(gè)數(shù)4
h = np.logspace(0, 3, 4)
print(h)
# %% base = 2, 個(gè)數(shù)4
i = np.logspace(0, 3, 4, base = 2)
print(i)
# %% 結(jié)束值不為2**3
k = np.logspace(0, 3, 3, base = 2, endpoint = False)
print(k)
查看全部 -
數(shù)據(jù)類型轉(zhuǎn)換代碼:
import numpy as np
?
a = np.array([1,3,5,7],dtype = np.int64) ??#轉(zhuǎn)換數(shù)據(jù)類型,類型代碼需要寫成字符串#dtype = “i8”
?
print(a,a.dtype) ?????????#打印數(shù)據(jù)及數(shù)據(jù)類型
查看全部 -
import numpy as np
# %% 這是第一段一維數(shù)組
a = np.array([1,2,3])
print(a)
# %% 這是第二段二維數(shù)組
b = np.array([[1,2,3],
? ? ? ? ? ? ? [4,5,6],
? ? ? ? ? ? ? [7,8,9]])
print(b)
查看全部 -
什么是NumPy:
一、NumPy是一個(gè)開源的Python數(shù)據(jù)分析和科學(xué)計(jì)算庫。
二、Numpy是Pandas(數(shù)據(jù)分析)、SciPy(科學(xué)計(jì)算)、Matplotlip(繪圖庫)的基礎(chǔ)。
三、NumPy的官網(wǎng)是https://numpy.org/
NumPy的特點(diǎn):
一、NumPy底層是使用C語言實(shí)現(xiàn)的,速度快。
二、NumPy提供數(shù)據(jù)結(jié)構(gòu)(數(shù)組)比Python內(nèi)置數(shù)據(jù)結(jié)構(gòu)訪問效率更高。
三、支持大量高維度數(shù)組與矩陣運(yùn)算。
四、提供大量的數(shù)學(xué)函數(shù)庫。
查看全部 -
一、Python的內(nèi)置數(shù)據(jù)結(jié)構(gòu):字符串、列表、元組、集合、字典。
二、序列的索引和切片訪問的相關(guān)操作。
三、列表、集合、字典的推導(dǎo)式。
四、Lambda表達(dá)式。
五、Python函數(shù)式編程的基礎(chǔ)函數(shù):filter()、map()、reduce()。
查看全部
舉報(bào)