淺談python 中的 type(), dtype(), astype()的區(qū)別
如下所示:
函數(shù) | 說明 |
type() | 返回數(shù)據(jù)結(jié)構(gòu)類型(list、dict、numpy.ndarray 等) |
dtype() |
返回數(shù)據(jù)元素的數(shù)據(jù)類型(int、float等) 備注:1)由于 list、dict 等可以包含不同的數(shù)據(jù)類型,因此不可調(diào)用dtype()函數(shù) 2)np.array 中要求所有元素屬于同一數(shù)據(jù)類型,因此可調(diào)用dtype()函數(shù) |
astype() |
改變np.array中所有數(shù)據(jù)元素的數(shù)據(jù)類型。 備注:能用dtype() 才能用 astype() |
測試代碼:
import numpy as np class Myclass(): pass a = [[1,2,3],[4,5,6]] b = {'a':1,'b':2,'c':3} c = np.array([1,2,3]) d = Myclass() e = np.linspace(1,5,10) c_ = c.astype(np.float) f = 10 print("type(a)=",type(a)) print("type(b)=",type(b)) print("type(c)=",type(c)) print("type(d)=",type(d)) print("type(e)=",type(e)) print("type(f)=",type(f)) print("type(c_)=",type(c_)) # print(a.dtype) ## AttributeError: 'list' object has no attribute 'dtype' # print(b.dtype) ## AttributeError: 'dict' object has no attribute 'dtype' print(c.dtype) # print(d.dtype) ## AttributeError: 'Myclass' object has no attribute 'dtype' print(e.dtype) print(c_.dtype) # print(f.dtype) ## AttributeError: 'int' object has no attribute 'dtype' # print(a.astype(np.int)) ## AttributeError: 'list' object has no attribute 'astype' # print(b.astype(np.int)) ## AttributeError: 'dict' object has no attribute 'astype' print(c.astype(np.int)) # print(d.astype(np.int)) ## AttributeError: 'Myclass' object has no attribute 'astype' print(e.astype(np.int)) # print(f.astype(np.int)) ## AttributeError: 'int' object has no attribute 'astype'
補充知識:pandas astype()錯誤
由于數(shù)據(jù)出現(xiàn)錯誤
DataError: No numeric types to aggregate
改正以后才認(rèn)識到astype的重要性。
Top15['populations'] = Top15['Energy Supply'].div(Top15['Energy Supply per Capita']).astype(float)
df_mean = ((df.set_index('Continent').groupby(level=0)['populations'].agg({'mean' : np.mean})))
#加了astype(float)后無錯誤
以上這篇淺談python 中的 type(), dtype(), astype()的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- python dataframe astype 字段類型轉(zhuǎn)換方法
- python隨機模塊random的22種函數(shù)(小結(jié))
- python函數(shù)中將變量名轉(zhuǎn)換成字符串實例
- python requests包的request()函數(shù)中的參數(shù)-params和data的區(qū)別介紹
- python中使用input()函數(shù)獲取用戶輸入值方式
- Python定義函數(shù)實現(xiàn)累計求和操作
- python函數(shù)調(diào)用,循環(huán),列表復(fù)制實例
- Python astype(np.float)函數(shù)使用方法解析
相關(guān)文章
python實現(xiàn)高精度求自然常數(shù)e過程詳解
這篇文章主要為大家介紹了python實現(xiàn)高精度求自然常數(shù)e過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹
這篇文章主要給大家介紹了關(guān)于python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹,?mat文件是matlab的數(shù)據(jù)存儲的標(biāo)準(zhǔn)格式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06如何通過python代碼根據(jù)模板修改變量生成新yaml文件
有些時候,需要根據(jù)一個yaml模板創(chuàng)建多個yaml文件實例,我們先寫一個yaml文件模板,然后通過python代碼修改模板中的變量,存儲為一個新的yaml文件,需要配合python的庫Template及ymal使用,本文給大家講解的非常詳細(xì),需要的朋友跟隨小編一起看看吧2023-11-11pandas DataFrame.to_sql()用法小結(jié)
Pandas是基于NumPy的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,本文主要介紹了pandas DataFrame.to_sql()用法小結(jié),感興趣的可以了解一下2024-02-02Python中的裝飾器鏈(decorator chain)詳解
在Python中,裝飾器是一種高級功能,它允許你在不修改函數(shù)或類代碼的情況下,為它們添加額外的功能,裝飾器通常用于日志記錄、性能測量、權(quán)限檢查等場景,當(dāng)多個裝飾器應(yīng)用于同一個函數(shù)或類時,形成裝飾器鏈,這篇文章主要介紹了Python中的裝飾器鏈詳解,需要的朋友可以參考下2024-06-06