Pandas数据类型的用法

本篇内容主要讲解“Pandas数据类型的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pandas数据类型的用法”吧!

大多数情况下,Pandas使用NumPy数组、Series或DataFrame里某列的数据类型。NumPy支持float、int、bool、timedelta[ns]、datetime64[ns],NumPy是不支持带时区信息的datetime。

Pandas与第三方支持库扩充了NumPy类型系统,接下来我们主要来介绍Pandas的内部扩展。

Pandas的扩展类型,如下表所示

Pandas数据类型的用法

Pandas用object存储字符串。

虽然,object数据类型能够存储任何对象,但我们要尽量避免这样做。

DataFrame的dtypes属性用起来很方便,以Series形式返回每列的数据类型。

Pandas数据类型的用法

要查看Series的数据类型,用dtype属性。

Pandas数据类型的用法

Pandas对象单列中含多种类型的数据时,该列的数据类型为可适配于各类数据的数据类型,通常为object。

Pandas数据类型的用法

DataFrame.dtypes.value_用于统计DataFrame里不同数据类型的列数。

Pandas数据类型的用法

多种数值型数据类型可以在DataFrame里共存。如果只传递一种数据类型,不论是通过dtype关键字直接传递,还是通过ndarray或Series传递,都会保存至DataFrame操作。此外,不同数值型数据类型不会并和。

Pandas数据类型的用法

默认值

整数的默认类型为int64,浮点数的默认类型为float64,这里的默认值与系统平台无关,不管是32位系统,还是64位系统都是一样的。下列代码返回的结果都是int64:

Pandas数据类型的用法

但是我们要注意,NumPy创建数组时,会根据系统选择类型。下列代码在32位系统上将返回int32。

Pandas数据类型的用法

向上转型

与其它类型合并时,用的是向上转型,指的是从现有类型转换为另一种类型,如int转换为float。

Pandas数据类型的用法

转DataFrame.to_numpy()返回多个数据类型里用得最多的数据类型,这里指的是,输出结果的数据类型,适用于所有同构NumPy数组的数据类型。此处强制执行向上型。

Pandas数据类型的用法

astype

astype()方法显式地把一种数据类型转换为另一种,默认操作为 复制数据,就算数据类型没有改变也会复制数据,copy=False改变默认操作模式。此外,astype无效时,会触发异常。

向上转型一般都遵循NumPy规则,操作中含有两种不同类型地数据时,返回更为通用地那种数据类型。

Pandas数据类型的用法

用astype把一列或多列转换为指定类型。

Pandas数据类型的用法

astype通过字典指定哪些列转换为哪些类型。

Pandas数据类型的用法

Pandas数据类型的用法

注意用astype与loc()为部分列转换指定类型时,会发生向上转型。

loc()尝试分配当前地数据类型,而[]则会从右方获取数据类型并进行覆盖。因此,下列代码会发生意料之外地结果:

Pandas数据类型的用法

对象转换

Pandas提供了多种函数可以把object从一种数据类型转换为另一种类型。这是因为,数据有时存储的是正确类型,但在保存时却存成了object类型,此时,用DataFrame.infer_objects()

与Series.infer_objects()方法即可把数据转换为正确的类型。

Pandas数据类型的用法

因为数据被转置,所以把原始列的数据类型改成了object,但使用infer_objects后就变正确了。

Pandas数据类型的用法

下列函数可以应用于一维数组与标量,执行硬转换,把对象转换为指定类型。

to_numeric()转换为数值型

Pandas数据类型的用法

to_datetime()转换为datetime对象

Pandas数据类型的用法

to_timedelta()转换为timedelta对象。

Pandas数据类型的用法

如需强制转换,则要加入error参数,指定Pandas怎样处理不能转换为预期类型或对象的数据。errors参数的默认值为False,指定的是在转换过程中,遇到任何问题都触发错误。设置为errors=‘coerce’时,pandas会忽略错误,强制把问题数据转换为pd.NaT(datetime与timedelta),或np.nan(数值型)。读取数据时,如果大部分要转换的数据是数值型或detetime,这种操作非常有用,但偶尔也会有非制式数据混合在一起,可能会导致展示数据缺失:

Pandas数据类型的用法

error参数还有第三个选项,error=’ignore’。转换数据时会忽略错误,直接输出问题数据:

Pandas数据类型的用法

执行转换操作时,to_numeric还有一个参数,downcast,即向下转型,可以把数值型转换为减少内存占用的数据类型:

Pandas数据类型的用法

上述方法仅能应用于一维数组、列表或标量;不能直接用于DataFrame等多维对象。不过,用apply(),可以快速为每列应用函数:

Pandas数据类型的用法

到此,相信大家对“Pandas数据类型的用法”有了更深的了解,不妨来实际操作一番吧!这里是恰卡编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

发布于 2021-07-09 21:19:35
收藏
分享
海报
0 条评论
179
上一篇:如何解决特殊字符、生僻字导致无法导入mysql数据库问题 下一篇:Spark启动时的master参数以及Spark的部署方法
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码