日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python numpy数据类型_python numPy模块 与numpy里的数据类型、数据类型对象dtype

發布時間:2023/12/4 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python numpy数据类型_python numPy模块 与numpy里的数据类型、数据类型对象dtype 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習鏈接:http://www.runoob.com/numpy/numpy-tutorial.html

簡介:

numPy是python語言的一個擴展庫,是一個運行非常快的數學庫,主要用于數組計算。它支持大量的維度與數據運算還針對數組運算提供大量的數學函數庫。它包含:一個強大的n維數組對象ndarray、廣播功能函數、整合c/c++/fortran的工具、線性代數、傅里葉變化與隨機數生成等功能

numPy應用

numpy通常與SciPy(Scientific Python)和Matplotlib(繪圖庫)配合使用,來代替MatLab,構成為強大的科學計算環境,幫助我們通過Python學習數據科學或者機器學習

安裝:

$pip install numPy

測試安裝成功:

>>> from numpy import * #導入numpy庫

>>> eye(4) #生成對角矩陣

array([[1., 0., 0., 0.],

[0., 1., 0., 0.],

[0., 0., 1., 0.],

[0., 0., 0., 1.]])

使用

*)numpy.linspace()

像python中的range一般,返回有指定的間隔產生的均勻間隔的數組,值得注意的是有dtype這個參數

*)numpy. arange()

值在半開區間里被生成[start,stop),對于int類型的參數,函數等同于python中的range,但是返回一個ndarray而不是list

但是對于非整形的step參數,每次返回的結果往往不一致,對于這種情況,選擇numpy.linspace()更好

*)numpy.zeros()

返回由0填充的數組,能指定填充的0的dtype

*)numpy.column_stack()

將一系列的1-D(我認為是1維)arrays堆疊為column以此來將他們轉化為一個2維array,二維數組被堆疊為和原來的一樣

*)

*)list to array

參考鏈接:https://docs.scipy.org/doc/numpy/reference/generated/numpy.asarray.html

>>> a = [1, 2]

>>> np.asarray(a)

array([1, 2])

numpy random模塊參考鏈接:https://www.cnblogs.com/hhh5460/p/4324967.html#top(官方文檔翻譯)

*)np.random.randint(low[,high,size,dtype])

參考鏈接:https://www.jianshu.com/p/36a4bbb5536e

>>> np.random.randint(0,20,4)

array([ 1, 9, 17, 11])

>>> np.random.randint(0,20,[4,1])#結果中包含4個數組,每個一個

array([[16],

[19],

[ 5],

[ 9]])

>>> np.random.randint(0,20,[4])

array([ 4, 6, 11, 14])

>>> np.random.randint(0,20,4,1)

Traceback (most recent call last):

File "", line 1, in

File "mtrand.pyx", line 973, in mtrand.RandomState.randint

TypeError: data type not understood

1)np.random.normal()生成高斯分布的概率密度隨機數

參考鏈接:https://blog.csdn.net/qiqiaiairen/article/details/52505667

這個方法返回一個正態分布的數組?(正態分布、又稱高斯分布、鐘形曲線)

numpy.random.normal(loc=0.0, scale=1.0, size=None)

參數含義:

loc:(float類型)概率分布的均值,是對應于整個分布的中心而言

scale:(float類型)概率分布的標準差(標準差反應集合內個體的離散程度,越大越離散),對應于分布的寬度而言(即高度一定?),scale越大越矮胖,scale越小越瘦高

size:(int or tuple of ints類型)輸出的shape(?),默認為None,只輸出一個值

這個方法返回一個正態分布的數組

>>> numpy.random.normal(0,1,20)

array([-0.98305884, -0.79340779, 0.69865242, 1.10930775, 0.17458143,

0.88452427, 0.92862304, -1.27837941, -0.88772762, 0.86100981,

3.06262977, 1.66589188, -1.34269035, -0.13672729, 0.01154996,

-1.88304306, 0.35375017, -0.88784919, 2.77849309, 0.68915905])

2)np.range與range

range是python自帶的庫

參考鏈接:https://blog.csdn.net/lanchunhui/article/details/49493633

三個參數(S,E,Step_size)第一個參數是起點,第三個是步長,返回一個不包括第二個參數的數據序列

numpy里的數據類型、數據類型對象dtype

numpy 支持的數據類型比 Python 內置的類型要多很多,基本上可以和 C 語言的數據類型對應上,其中部分類型對應為 Python 內置的類型。詳情見參考鏈接

數據類型對象 (dtype)

dtype是用來描述與數組對應的內存區域如何使用(懵逼,不只有一種使用方法嗎?)這依賴如下幾個方面:

數據的類型(整數,浮點數或者 Python 對象)

數據的大小(例如, 整數使用多少個字節存儲)

數據的字節順序(小端法或大端法)

字節順序是通過對數據類型預先設定"<"或">"來決定的。"<"意味著小端法(最小值存儲在最小的地址,即低位組放在最前面)。">"意味著大端法(最重要的字節存儲在最小的地址,即高位組放在最前面)。

在結構化類型的情況下,字段的名稱、每個字段的數據類型和每個字段所取的內存塊的部分

如果數據類型是子數組,它的形狀和數據類型

dtype 對象是使用以下語法構造的:

numpy.dtype(object, align, copy)

object - 要轉換為的數據類型對象

align - 如果為 true,填充字段使其類似 C 的結構體。(繼續懵逼)

copy - 復制 dtype 對象 ,如果為 false,則是對內置數據類型對象的引用

創建dtype的例子:

>>> dt=np.dtype(np.int32)# 使用標量類型#不要忘記前面的np.

>>> print(dt)

int32#直接輸出的這個

>>>

之后有列舉了一些創建dtype的其他實例,介紹了一些特殊的格式如:

int8, int16, int32, int64 四種數據類型可以使用字符串 'i1', 'i2','i4','i8' 代替

特殊的有一個字節順序標注的

import numpy as np

# 字節順序標注

dt = np.dtype('

print(dt)

#結果

int32

之后又展示了結構化數據類型的創建

# 類型字段名可以用于存取實際的 age 列

import numpy as np

dt = np.dtype([('age',np.int8)])

a = np.array([(10,),(20,),(30,)], dtype = dt)

print(a['age'])

#結果:

[10 20 30]

問題

因為上面哪個“dtype是用來描述與數組對應的內存區域如何使用”的疑惑還沒有解決,而且在后面我也沒有看到dtype是怎樣使用的,只是輸出了int32之類的東西,難道上面哪一個“結構化”是使用,

而且numpy的一些方法如numpy.linspace()又dtype這個參數,我也不知道有什么用。

總結

以上是生活随笔為你收集整理的python numpy数据类型_python numPy模块 与numpy里的数据类型、数据类型对象dtype的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。