Python中辨析type/dtype/astype用法

Python中与数据类型相关函数及属性有如下三个:type/dtype/astype。

名称描述
type()返回参数的数据类型
dtype返回数组中元素的数据类型
astype()对数据类型进行转换
  1. type()用于获取数据类型
    #type用于获取数据类型
    import numpy as np
    a=[1,2,3]
    print(type(a))
    #>>><class 'list'>
    b=np.array(a)
    print(type(b))
    #>>><class 'numpy.ndarray'>
    

     

  2. dtype用于获取数组中元素的类型

    #dtype用于获取数组中元素的类型
    print(b.dtype)
    #>>>int64
    
    x,y,z=1,2,3
    c=np.array([x,y,z])
    print(c.dtype)
    #>>>int64
    
    d=np.array([1+2j,2+3j,3+4j])
    print(d.dtype)
    #>>>complex128
    

     

  3. astype()修改数据类型
    Array中用法

    #astype修改数据类型
    e=np.linspace(1,5,20)
    print(e)
    #>>>
    '''
    [1.         1.21052632 1.42105263 1.63157895 1.84210526 2.05263158
     2.26315789 2.47368421 2.68421053 2.89473684 3.10526316 3.31578947
     3.52631579 3.73684211 3.94736842 4.15789474 4.36842105 4.57894737
     4.78947368 5.        ]
    '''
    print(e.dtype)
    #>>>float64
    
    e=e.astype(int)
    print(e)
    #>>>[1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 5]
    print(e.dtype)
    #>>>int64
    

    Dataframe中用法:转换指定字段数据的类型

    import pandas as pd
    e=np.linspace(1,5,20)
    edf=pd.DataFrame(e)
    edf[0].head(3)
    #>>>
    0    1.000000
    1    1.210526
    2    1.421053
    Name: 0, dtype: float64
    
    print(edf[0].dtype)
    #>>>float64
    
    edf[0]=edf[0].astype(int)
    edf[0].head(3)
    #>>>
    0    1
    1    1
    2    1
    Name: 0, dtype: int64
    
    print(edf[0].dtype)
    #>>>int64
    

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值