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

歡迎訪問 生活随笔!

生活随笔

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

python

python如何改变数据类型_如何改变numpy数组的数据类型和形状?

發布時間:2024/9/27 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python如何改变数据类型_如何改变numpy数组的数据类型和形状? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據類型的混合使得這種轉換比通常更復雜。最后的答案是,將字段復制到目標數組具有速度和通用性的結合。在

讓我們構造一個示例:In [850]: dt

Out[850]: dtype([('cycle', '

In [851]: x=np.zeros((3,),dt)

In [852]: x['cycle']=[0,10,23]

In [853]: x['dxn']=[3,2,2]

In [854]: x['V']=[1,1,1]

In [855]: x

Out[855]:

array([(0, 3, 0.0, 1.0, 0.0), (10, 2, 0.0, 1.0, 0.0),

(23, 2, 0.0, 1.0, 0.0)],

dtype=[('cycle', '

我們可以按照該鏈接中建議的方式查看3個浮動字段:

^{pr2}$

但是如果我想更改所有值,我需要制作y的副本。不允許一次寫入多個字段。在In [863]: y=x[list(x.dtype.names[2:])].view(dt1).copy()

In [864]: y['f0']=np.arange(9.).reshape(3,3)

具有一個數據類型的view無法捕獲行結構;我們必須用reshape將其添加回來。dt1和(3,)形狀可以避免這個問題。在In [867]: x[list(x.dtype.names[2:])].view(np.float32)

Out[867]: array([ 0., 1., 0., 0., 1., 0., 0., 1., 0.], dtype=float32)In [868]: x.tolist()

Out[868]: [(0, 3, 0.0, 1.0, 0.0), (10, 2, 0.0, 1.0, 0.0), (23, 2, 0.0, 1.0, 0.0)]

In [869]: np.array(x.tolist())

Out[869]:

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

[ 10., 2., 0., 1., 0.],

[ 23., 2., 0., 1., 0.]])

可以使用astype轉換各個字段:In [878]: x['cycle'].astype(np.float32)

Out[878]: array([ 0., 10., 23.], dtype=float32)

In [879]: x['dxn'].astype(np.float32)

Out[879]: array([ 3., 2., 2.], dtype=float32)

但不是多個字段:In [880]: x.astype(np.float32)

Out[880]: array([ 0., 10., 23.], dtype=float32)

recfunctions幫助操作結構化數組(和重新排列)from numpy.lib import recfunctions

它們中的許多構造了一個新的空結構,并逐字段復制值。在這種情況下,相當于:In [890]: z=np.zeros((3,5),np.float32)

In [891]: for i in range(5):

.....: z[:,i] = x[x.dtype.names[i]]

In [892]: z

Out[892]:

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

[ 10., 2., 0., 1., 0.],

[ 23., 2., 0., 1., 0.]], dtype=float32)

在這個小例子中,它比np.array(x.tolist())慢一點。但對于30000張唱片來說,這個速度要快得多。在

在結構化數組中,記錄通常比字段多,因此字段的迭代并不慢。在

總結

以上是生活随笔為你收集整理的python如何改变数据类型_如何改变numpy数组的数据类型和形状?的全部內容,希望文章能夠幫你解決所遇到的問題。

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