最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NumPy-ndarray 的數(shù)據(jù)類型用法說明

 更新時(shí)間:2021年05月18日 10:12:54   作者:chanyuli  
這篇文章主要介紹了NumPy-ndarray 的數(shù)據(jù)類型用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

ndarray 的數(shù)據(jù)類型

數(shù)據(jù)類型,即 dtype ,也是一個(gè)特殊的對象, 它包含了ndarray需要為某一種類型數(shù)據(jù)所申明的內(nèi)存塊信息(也成為了元數(shù)據(jù),即表示數(shù)據(jù)的數(shù)據(jù))

dtype是NumPy能夠與琪他系統(tǒng)數(shù)據(jù)靈活交互的原因。通常,其他系統(tǒng)提供一個(gè)硬盤或內(nèi)存與數(shù)據(jù)的對應(yīng)關(guān)系,使得利用C或Fortran等底層語言讀寫數(shù)據(jù)變得十分方便。

名稱 描述
bool_ 布爾型數(shù)據(jù)類型(True 或者 False)
int_ 默認(rèn)的整數(shù)類型(類似于 C 語言中的 long,int32 或 int64)
intc 與 C 的 int 類型一樣,一般是 int32 或 int 64
intp 用于索引的整數(shù)類型(類似于 C 的 ssize_t,一般情況下仍然是 int32 或 int64)
int8 字節(jié)(-128 to 127)
int16 整數(shù)(-32768 to 32767)
int32 整數(shù)(-2147483648 to 2147483647)
int64 整數(shù)(-9223372036854775808 to 9223372036854775807)
uint8 無符號整數(shù)(0 to 255)
uint16 無符號整數(shù)(0 to 65535)
uint32 無符號整數(shù)(0 to 4294967295)
uint64 無符號整數(shù)(0 to 18446744073709551615)
float_ float64 類型的簡寫
float16 半精度浮點(diǎn)數(shù),包括:1 個(gè)符號位,5 個(gè)指數(shù)位,10 個(gè)尾數(shù)位
float32 單精度浮點(diǎn)數(shù),包括:1 個(gè)符號位,8 個(gè)指數(shù)位,23 個(gè)尾數(shù)位
float64 雙精度浮點(diǎn)數(shù),包括:1 個(gè)符號位,11 個(gè)指數(shù)位,52 個(gè)尾數(shù)位
complex_ complex128 類型的簡寫,即 128 位復(fù)數(shù)
complex64 復(fù)數(shù),表示雙 32 位浮點(diǎn)數(shù)(實(shí)數(shù)部分和虛數(shù)部分)
complex128 復(fù)數(shù),表示雙 64 位浮點(diǎn)數(shù)(實(shí)數(shù)部分和虛數(shù)部分)

使用astype方法來顯式的轉(zhuǎn)換數(shù)組的數(shù)據(jù)類型

arr = np.array([1,2,3,4,5])
print(arr.dtype)
print(arr)
float_arr = arr.astype('float32')#也可以寫作 arr.astype(np.float32)
print(float_arr.dtype)
print(float_arr)

int32 [1 2 3 4 5] float32 [1. 2. 3. 4. 5.]

注意:將內(nèi)容為數(shù)字的字符串?dāng)?shù)組轉(zhuǎn)為數(shù)字是可以的,當(dāng)內(nèi)容是浮點(diǎn)型數(shù)字的時(shí)候只能轉(zhuǎn)成 float,不能 int,只有是整數(shù)的時(shí)候才可以轉(zhuǎn)成int

用其他數(shù)組的dtype來轉(zhuǎn)換數(shù)據(jù)類型:

int_arr = np.arange(10)
calibers = np.array([.22, .270, .357], dtype=np.float64)
print(calibers)
arr_last = int_arr.astype(calibers.dtype)
print(arr_last.dtype)
print(arr_last)

[0.22 0.27 0.357] float64 [0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]

補(bǔ)充:Python3:numpy的簡單使用(ndarray的基本屬性以及基本生成數(shù)組的方法)

聲明

由于本人學(xué)習(xí)需要,所以開始學(xué)習(xí)numpy,這個(gè)科學(xué)計(jì)算工具,本文用于復(fù)習(xí)當(dāng)前所學(xué)習(xí)的內(nèi)容(當(dāng)前使用numpy的版本為:1.17.4)

1.ndarray的基本的屬性

2.生成數(shù)組的方法(主要測試生成0和生成1的方法:ones和zeros方法)

1. 輸出當(dāng)前ndarray的基本屬性

# 測試當(dāng)前Numpy中的narray中的屬性
# 使用的numpy的版本為:1.17.4
import numpy as np

default_array = [[1, 2, 3, 4, 5, 6],
                 [1, 2, 3, 4, 5, 6]]
np_array = np.array(default_array)
print("當(dāng)前存儲(chǔ)后的數(shù)據(jù)的dtype類型為:{}".format(np_array.dtype))  # int32
print("查看這個(gè)對象的實(shí)際類型:{}".format(type(np_array)))  #
print("查看這個(gè)對象的形狀:{}".format(np_array.shape))  # (2,6)
print("當(dāng)前這個(gè)對象的字節(jié)長度:{}".format(np_array.itemsize))  # 4
print("當(dāng)前這個(gè)對象的長度(使用python的len方法):{}".format(len(np_array)))  # 2 只迭代了一組數(shù)據(jù)外層的二維數(shù)據(jù)
print("當(dāng)前這個(gè)對象的長度(使用自己的size方法):{}".format(np_array.size))  # 獲取了所有的數(shù)據(jù)的數(shù)量

print(np.array([[1, 2, 3], [1, 2, 3]]).dtype)
print(np.array([1.2, 2.2, 3.2]).dtype)

# 可以看出當(dāng)前默認(rèn)使用的類型為int32
# 默認(rèn)使用的浮點(diǎn)類型為:float64

# 修改和設(shè)定當(dāng)前的使用的初始化類型
# print(np.array([[1.1,1.2,1.3]],dtype="int32").dtype)
print(np.array([[1.1,1.2,1.3]],dtype=np.int32).dtype)

結(jié)果:

在這里插入圖片描述

總結(jié):

1.創(chuàng)建了二維數(shù)據(jù)的時(shí)候使用原生的python的len方法獲取的長度是外層的長度,并不是二維數(shù)組實(shí)際內(nèi)容的長度!

2.通過np.array(數(shù)組)將原來的python中的數(shù)組轉(zhuǎn)換為ndarray類型的數(shù)據(jù)

3.每一個(gè)ndarray中都會(huì)有一個(gè)數(shù)據(jù)類型使用dtype表示,默認(rèn)使用的整數(shù)類型為int32,浮點(diǎn)類型為float64

4.通過ndarray.size獲取當(dāng)前ndarray中的元素的個(gè)數(shù)

5.通過ndarray.shap獲取當(dāng)前的ndarray的形狀

6.使用np.array()創(chuàng)建ndarray的時(shí)候可以指定當(dāng)前的ndarray的dtype,其形式可以是字符也可以是np.類型

2.使用numpy生成簡單的數(shù)組(np.zeros(),np.ones(),np.empty(),np.array())

# 使用numpy中的生成的數(shù)組數(shù)據(jù)的方法
import numpy as np

# 生成1的操作
np_array = np.zeros([2, 2])
print("當(dāng)前生成的數(shù)據(jù)為:{}".format(np_array))
print("輸出當(dāng)前生成的數(shù)據(jù)的類型為:{}".format(np_array.dtype))

# 說明當(dāng)前默認(rèn)產(chǎn)生的數(shù)據(jù)數(shù)據(jù)的類型為float64
# 現(xiàn)在改變當(dāng)前的dtype,直接將當(dāng)前的dtype的數(shù)據(jù)類型設(shè)置為int32
np_array.dtype = np.int32
print("當(dāng)前生成的數(shù)據(jù)為:{}".format(np_array))
print("輸出當(dāng)前生成的數(shù)據(jù)的類型為:{}".format(np_array.dtype))

# 生成1的數(shù)據(jù)
np_array_ones = np.ones([2, 2], dtype=np.int32)
print(np_array_ones)

# 創(chuàng)建一個(gè)未初始化的數(shù)據(jù),默認(rèn)未初始化
x = np.empty([3, 2], dtype=int)
print(x)

結(jié)果:

在這里插入圖片描述

總結(jié):

1.使用當(dāng)前的np.zeros(shape)和np.ones(shape)方法生成全是0或者全是1的指定形狀的數(shù)組

2.通過np.empty(shape)生成空的數(shù)組

3.可以通過ndarray.dtype=dtype方式改變當(dāng)前的ndarray的類型

3.使用生成數(shù)組方式二(np.asarray(),np.copy())

# 從已有的數(shù)組中創(chuàng)建數(shù)據(jù)
import numpy as np

default_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
default_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
print(type(default_tuple))
copy_array = np.asarray(default_array)  # 用于淺拷貝
copy_tuple = np.asarray(default_tuple)
print("asarray數(shù)組后的數(shù)據(jù):{}".format(copy_array))
print("asarray元組后的數(shù)據(jù):{}".format(copy_tuple))
deep_copy_array = np.copy(default_array)
print("copy數(shù)組后的數(shù)據(jù):{}".format(deep_copy_array))

在這里插入圖片描述

總結(jié):

1.這里使用np.asarray()方法生成的數(shù)組與原來的數(shù)組有關(guān)聯(lián),是淺拷貝

2.這里的np.copy()方法生成的另外一份備份數(shù)據(jù),是深拷貝

4.生成指定范圍的數(shù)組(np.range(),np.random.random(),np.random.randint(),np.linspace())

# 通過固定范圍生成數(shù)組,使用arange方式生成0 到 9之間的數(shù)據(jù),默認(rèn)生成的數(shù)據(jù)為當(dāng)前的為范圍的值,這里的步長默認(rèn)就是1,結(jié)果中不包含10,這里是按照指定的步長進(jìn)行迭代
range_array = np.arange(0, 10, dtype=np.int32)
print("range_array:{}".format(range_array))

# 通過隨機(jī)方式生成數(shù)組
random_array = np.random.random((2, 2))
print("使用隨機(jī)方式生成數(shù)組:{}".format(random_array))  # 默認(rèn)生成的數(shù)據(jù)為0到1之間的數(shù)據(jù)

# 2 生成隨機(jī)的整數(shù)
random_array_int = np.random.randint(1, 10, (2, 2))
print("生成隨機(jī)整數(shù):{}".format(random_array_int))

# 在指定范圍中生成15 個(gè) 1到 10之間的數(shù),這是一個(gè)隨機(jī)的數(shù)據(jù),是等距離的,當(dāng)要求的數(shù)據(jù)超過當(dāng)前的范圍的數(shù)據(jù)的時(shí)候默認(rèn)就會(huì)隨機(jī)生成一些數(shù)據(jù)
listspace_array = np.linspace(1, 10, 15, dtype=np.int32)  # 就是按照一定的等分進(jìn)行劃分為指定個(gè)需要的數(shù)據(jù),這里的結(jié)果中包含10,相當(dāng)于當(dāng)前的等差數(shù)列一樣
print("listspace_array:{}".format(listspace_array))

結(jié)果:

在這里插入圖片描述

總結(jié):

1.當(dāng)前的random方法就是隨機(jī)生成指定區(qū)間的數(shù)據(jù),可以指定類型

2.range就是相當(dāng)于當(dāng)前的python中的range方法,可以指定步長,是一個(gè)[a,b)這中數(shù)據(jù)

3.linspace用于在指定的范圍中按照指定的方式生成數(shù)組,這個(gè)是等差數(shù)列,如果當(dāng)前需要的數(shù)據(jù)大于這個(gè)范圍就會(huì)出現(xiàn)隨機(jī)生成的情況

5.生成等比數(shù)列(np.logspace())

# 生成一個(gè)等比的數(shù)列,這里面的2 表示生成的樣本的個(gè)數(shù)為2 ,起始數(shù)據(jù)為1,結(jié)束數(shù)據(jù)為4,表示最小為3的1次方到當(dāng)前的3的4次方
equal_ratio_array = np.logspace(1, 4, 2, dtype=np.int32)  # 這里的默認(rèn)的底數(shù)為10 表示當(dāng)前最小為10的一次方,最大為當(dāng)前的10的4次方
print("當(dāng)前的等比數(shù)列的數(shù)據(jù)為:{}".format(equal_ratio_array))

當(dāng)前的等比數(shù)列的數(shù)據(jù)為:[ 10 10000]

總結(jié)

1.這個(gè)等比具有默認(rèn)的底數(shù)為10,第一個(gè)表示10的1次方,第二個(gè)為生成數(shù)的最大次方為10的4次方,生成的數(shù)據(jù)2表示當(dāng)前生成的等比數(shù)組的長度為2

2.可以設(shè)定當(dāng)前的底數(shù)值,可以指定當(dāng)前的類型

6.總結(jié)

1.當(dāng)前的numpy這個(gè)模塊可以實(shí)現(xiàn)創(chuàng)建當(dāng)前的數(shù)組,可以生成指定類型和指定形狀的數(shù)組

2.通過numpy可以模擬需要的數(shù)據(jù),產(chǎn)生數(shù)的方式很快!

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3.6根據(jù)m3u8下載mp4視頻

    python3.6根據(jù)m3u8下載mp4視頻

    這篇文章主要為大家詳細(xì)介紹了python3.6根據(jù)m3u8下載mp4視頻,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • keras CNN卷積核可視化,熱度圖教程

    keras CNN卷積核可視化,熱度圖教程

    這篇文章主要介紹了keras CNN卷積核可視化,熱度圖教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python使用wget實(shí)現(xiàn)下載網(wǎng)絡(luò)文件功能示例

    Python使用wget實(shí)現(xiàn)下載網(wǎng)絡(luò)文件功能示例

    這篇文章主要介紹了Python使用wget實(shí)現(xiàn)下載網(wǎng)絡(luò)文件功能,簡單介紹了wget安裝以及Python使用wget下載tar格式網(wǎng)絡(luò)文件并進(jìn)行解壓處理相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • Flask框架中的session設(shè)置詳解

    Flask框架中的session設(shè)置詳解

    Flask是一個(gè)使用Python編寫的輕量級Web應(yīng)用框架。其WSGI工具箱采用Werkzeug,模板引擎則使用 Jinja2 。Flask使用BSD授權(quán)。Flask也被稱為 “microframework”,因?yàn)樗褂煤唵蔚暮诵模胑xtension增加其他功能
    2023-02-02
  • Python判斷空的五種方法

    Python判斷空的五種方法

    本文介紹了多種在Python中判斷變量是否為空的方法,包括if語句、len()函數(shù)、not關(guān)鍵字、bool()函數(shù)和try...except語句等,具有一檔的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • 如何使用?profile?進(jìn)行python代碼性能分析

    如何使用?profile?進(jìn)行python代碼性能分析

    對代碼優(yōu)化的前提是需要了解性能瓶頸在什么地方,程序運(yùn)行的主要時(shí)間是消耗在哪里,對于比較復(fù)雜的代碼可以借助一些工具來定位,python?內(nèi)置了豐富的性能分析工具,本文介紹如何使用profile進(jìn)行python代碼性能分析,感興趣的朋友一起看看吧
    2024-12-12
  • 如何從Python字符串中刪除最后一個(gè)分號或者逗號

    如何從Python字符串中刪除最后一個(gè)分號或者逗號

    這篇文章主要介紹了從?Python?中的字符串中刪除最后一個(gè)分號或者逗號的兩種方法,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Python爬取百度地圖POI數(shù)據(jù)代碼的步驟

    Python爬取百度地圖POI數(shù)據(jù)代碼的步驟

    爬取百度地圖的POI數(shù)據(jù)涉及法律和道德問題,因?yàn)檫@類數(shù)據(jù)受到版權(quán)保護(hù),且大多數(shù)在線地圖服務(wù)都有嚴(yán)格的反爬蟲措施,這篇文章主要介紹了Python爬取百度地圖POI數(shù)據(jù)代碼,需要的朋友可以參考下
    2024-08-08
  • Python實(shí)現(xiàn)批量更換指定目錄下文件擴(kuò)展名的方法

    Python實(shí)現(xiàn)批量更換指定目錄下文件擴(kuò)展名的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)批量更換指定目錄下文件擴(kuò)展名的方法,結(jié)合完整實(shí)例分析了Python批量修改文件擴(kuò)展名的技巧,并對比分析了shell命令及scandir的兼容性代碼,需要的朋友可以參考下
    2016-09-09
  • Python接單的過程記錄分享

    Python接單的過程記錄分享

    這篇文章主要介紹了Python接單的過程記錄分享,需要的朋友可以參考下
    2021-04-04

最新評論

渭源县| 清水县| 界首市| 东辽县| 东明县| 康平县| 万宁市| 皋兰县| 阿巴嘎旗| 永宁县| 驻马店市| 白水县| 白山市| 绥滨县| 蕲春县| 高台县| 沁源县| 互助| 潮安县| 汕尾市| 泽库县| 保亭| 乌拉特中旗| 沙田区| 吉木萨尔县| 阿城市| 惠东县| 天长市| 岢岚县| 云龙县| 林周县| 巢湖市| 威远县| 鄂托克前旗| 罗平县| 城固县| 拉萨市| 铁岭市| 盐亭县| 台东市| 伊川县|