numpy.ndarray中对于字符串的处理

问题来源:
在做数据开发的时候,使用pandas读取了excel中数据,存储格式统一为str类型,之后为了方便操作,将DataFrame格式的数据转换为了numpy.ndarray格式的数据。
之后对ndarray的数据进行遍历,并且将符合要求的数据,做格式化处理,再将其存储到ndarray中。

问题:
当要处理的字符串为最长的字符串时,在其长度增长后,又把新字符串对它重新进行赋值,然后发现新的字符串并没有完整的保存在ndarray数组中。

解决:
由于numpy中的ndarray要求所有数据为同一种类型,所以在创建时我使用dtype=str。此时numpy会根据创建时所有元素的最大字符串长度设定str的类型。
例如:
所有元素中的最大字符串长度为11,则会将str的类型设置为'<U11'。此时所存储最大字符串长度就被设置为了11,超过这个长度都会被截取,在进行赋值。并且不会抛出任何异常。

所以我在创建数组时,就将dtype设置为 '<U750',这是根据数据库中最大字符长度设定的值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值