浅谈python中的type(),dtype(),astype()的区别如下所⽰:
函数说明侃侃而谈造句
type()返回数据结构类型(list、dict、numpy.ndarray 等)
dtype()返回数据元素的数据类型(int、float等)
备注:1)由于 list、dict 等可以包含不同的数据类型,因此不可调⽤dtype()函数2)np.array 中要求所有元素属于同⼀数据类型,因此可调⽤dtype()函数
astype()势不可挡的反义词
形容小人的成语
改变np.array中所有数据元素的数据类型。
备注:能⽤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()错误
由于数据出现错误
DataError: No numeric types to aggregate
改正以后才认识到astype的重要性。
Top15['populations'] = Top15['Energy Supply'].div(Top15['Energy Supply per Capita']).astype(float)
df_mean = ((df.t_index('Continent').groupby(level=0)['populations'].agg({'mean' : np.mean})))
#加了astype(float)后⽆错误
以上这篇浅谈python 中的 type(), dtype(), astype()的区别就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。