时间:2021-05-22
如下所示:
函数 说明 type() 返回数据结构类型(list、dict、numpy.ndarray 等) dtype()返回数据元素的数据类型(int、float等)
备注:1)由于 list、dict 等可以包含不同的数据类型,因此不可调用dtype()函数
2)np.array 中要求所有元素属于同一数据类型,因此可调用dtype()函数
astype()改变np.array中所有数据元素的数据类型。
备注:能用dtype() 才能用 astype()
测试代码:
import numpy as npclass 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()错误
由于数据出现错误
DataError: No numeric types to aggregate
改正以后才认识到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()的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
使用astype如下:df[[column]]=df[[column]].astype(type)type即int、float等类型。示例:importpand
浅谈python中set使用In[2]:a=set()#常用操作1In[3]:aOut[3]:set()In[4]:type(a)Out[4]:setIn[5]
C#中Array和ArrayList详解及区别一、Array的用法type[]typename=newtype[size];或者type[]typename=n
CSS3中nth-child与nth-of-type的区别其实很简单::nth-of-type为什么要叫:nth-of-type?因为它是以"type"来区分的
废话不多说了,直接给大家贴代码了,具体代码如下所述:varpath='/home?id=2&type=0&dtype=-1';functionparse