Python中与数据类型相关函数及属性有如下三个:type/dtype/astype。
名称 | 描述 |
---|---|
type() | 返回参数的数据类型 |
dtype | 返回数组中元素的数据类型 |
astype() | 对数据类型进行转换 |
- 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'>
-
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
-
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