浅谈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.set_index('Continent').groupby(level=0)['populations'].agg({'mean' : np.mean})))
#加了astype(float)后无错误
以上这篇浅谈python 中的 type(), dtype(), astype()的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python读取.mat文件及将变量存为.mat文件的详细介绍
这篇文章主要给大家介绍了关于python读取.mat文件及将变量存为.mat文件的详细介绍,mat文件是matlab的数据存储的标准格式,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-06-06Python中的装饰器链(decorator chain)详解
在Python中,装饰器是一种高级功能,它允许你在不修改函数或类代码的情况下,为它们添加额外的功能,装饰器通常用于日志记录、性能测量、权限检查等场景,当多个装饰器应用于同一个函数或类时,形成装饰器链,这篇文章主要介绍了Python中的装饰器链详解,需要的朋友可以参考下2024-06-06
最新评论