在Numpy中减少字符数组的大小
给定一个字符数组:
In [21]: x = np.array(['a ','bb ','cccc '])
可以使用以下方法来去掉空格:
In [22]: np.char.strip(x)
Out[22]:
array(['a', 'bb', 'cccc'],
dtype='|S8')
但是有没有办法把列的宽度缩小到最小所需的大小,比如上面的例子中是 |S4
呢?
2 个回答
0
在编程中,有时候我们会遇到一些问题,尤其是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能在使用某个特定的功能时,发现它并没有按照预期的方式工作。这时候,我们就需要去查找资料,看看是否有其他人遇到过类似的问题,以及他们是如何解决的。
在这个过程中,StackOverflow是一个非常有用的平台。这里聚集了很多程序员,他们会分享自己的经验和解决方案。当你在这里提问时,其他人可能会给你提供一些建议,或者分享他们的代码示例,帮助你更好地理解问题所在。
总之,遇到问题时,不要害怕去寻求帮助,利用好社区资源,能让你更快地找到解决方案。
>>> x = np.array(['a ','bb ','cccc '])
>>> x = np.array([s.strip() for s in x])
>>> x
array(['a', 'bb', 'cccc'],
dtype='|S4')
1
你只是想改变数据类型吗?
import numpy as NP
a = NP.array(["a", "bb", "ccc"])
a
# returns array(['a', 'bb', 'ccc'], dtype='|S3')
a = NP.array(a, dtype="|S8") # change dtype
# returns array(['a', 'bb', 'ccc'], dtype='|S8')
a = NP.array(a, dtype="|S3") # change it back
# returns array(['a', 'bb', 'ccc'], dtype='|S3')