python中str类型和object类型_pandas str和object类型之间的区别

在Numpy中,str对应dtype('S'),object对应dtype('O'),但在Pandas中,str和object都表现为dtype('O')。尽管Numpy的str类型是固定宽度的,Pandas则使用Python的字符串,导致行为上的差异。当尝试超过固定长度时,Numpy的str会被截断,而Python字符串则可以容纳任意长度。此外,Pandas选择不使用C风格的固定长度字符串,因为它们的行为不如Python字符串直观。
摘要由CSDN通过智能技术生成

现象:

Numpy区分了str和object类型,其中dtype(‘S’)和dtype(‘O’)分别对应于str和object.

然而,pandas缺乏这种区别 str和object类型都对应dtype(‘O’)类型,即使强制类型为dtype(‘S’)也无济于事

>>> importpandas as pd>>> importnumpy as np>>>

>>>

>>>np.dtype(str)

dtype(‘S‘)>>>np.dtype(object)>>>

>>>dtype(‘O‘)>>> df = pd.DataFrame({‘a‘: np.arange(5)})>>>df

a

0 01 1

2 2

3 3

4 4

>>>df.a.dtype

dtype(‘int64‘)>>>df.a.astype(str).dtype

dtype(‘O‘)>>>df.a.astype(object).dtype

dtype(‘O‘)>>>df.a.astype(str).dtype

dtype(‘O‘)

原理:

先说结论:

Numpy的字符串dtypes不是python字符串.pandas使用python字符串,.

numpy与pandas的字符串不同的含义:

>>> x = np.array([‘Testing‘, ‘a‘, ‘string‘], dt

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值