当利用pandas进行数据处理的时候,经常会遇到数据类型的问题,当拿到数据的时候,首先需要确定拿到的是正确类型的数据,一般通过数据类型的转化,这篇文章就介绍pandas里面的数据类型(data types也就是常用的dtyps),以及pandas与numpy之间的数据对应关系。
dataframe中的 object 类型来自于 Numpy, 他描述了每一个元素 在 ndarray 中的类型 (也就是Object类型)。而每一个元素在 ndarray 中 必须用同样大小的字节长度。 比如 int64 float64, 他们的长度都是固定的 8 字节。
但是对于string 来说,string 的长度是不固定的, 所以pandas 储存string时 使用 narray, 每一个object 是一个指针
我们以官网案例作为解析,这样可以省去很多时间。
importpandas as pdimportnumpy as np
df= pd.read_csv("https://github.com/chris1610/pbpython/blob/master/data/sales_data_types.csv?raw=True")
然后我们查看每个字段的数据类型:
数据类型问题如下:
Customer number 应该是int64,不应该是float64
2016和2017两个字段是ob