浅谈python 中的 type(), dtype(), astype()的区别

作者:wzg2016 时间:2022-09-13 22:40:39 

如下所示:

函数说明
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)后无错误

来源:https://blog.csdn.net/Strive_For_Future/article/details/92811293

标签:python,type,dtype,astype
0
投稿

猜你喜欢

  • Python numpy中的ndarray介绍

    2022-11-06 19:17:59
  • ASP编程入门进阶教程

    2008-06-29 18:00:00
  • 详解vue-Resource(与后端数据交互)

    2024-06-05 09:15:06
  • TypeScript中extends的正确打开方式详解

    2024-02-25 07:14:18
  • 基于Python绘制一个摸鱼倒计时界面

    2022-09-02 03:03:26
  • 方便和实用

    2009-02-02 10:16:00
  • Win中安装mysql的详细步骤

    2024-01-15 18:38:19
  • Oracle修改表空间大小的方法

    2024-01-13 04:14:49
  • 详解基于python-django框架的支付宝支付案例

    2023-01-07 12:30:22
  • 解析PHP中empty is_null和isset的测试

    2023-11-18 17:39:06
  • 用selenium解决滑块验证码的实现步骤

    2021-06-02 01:44:39
  • pyinstaller还原python代码过程图解

    2022-04-09 10:06:59
  • firefox与ie 的javascript区别

    2010-03-14 11:30:00
  • python中sys.argv参数用法实例分析

    2021-09-19 20:29:30
  • 利用C#远程存取Access数据库

    2024-01-27 01:58:32
  • python3调用windows dos命令的例子

    2021-11-10 06:36:44
  • SqlServer 实用操作小技巧集合第1/2页

    2024-01-28 13:19:33
  • 学习CSS布局心得

    2007-05-11 16:50:00
  • MySQL中触发器的基础学习教程

    2024-01-15 21:21:11
  • golang如何通过viper读取config.yaml文件

    2023-07-22 05:46:11
  • asp之家 网络编程 m.aspxhome.com