有没有一种方法可以根据每个元素的字符数以向量化的方式分割Numpy Array?
输入:
In [1]: import numpy as np
In [2]: y = np.array([ 'USC00013160194806SNOW','USC00013160194806SNOW','USC00013160194806SNOW' ])
In [3]: y
Out[3]:
array(['USC00013160194806SNOW', 'USC00013160194806SNOW',
'USC00013160194806SNOW'],
dtype='|S21')
我希望根据一定数量的字符拆分数组的每个元素。
所需输出:
In [3]: y
Out[3]:
array(['USC00013160', 'USC00013160',
'USC00013160'],
dtype='|S21')
我已经使用标准的python循环执行了此操作,但是我正在处理数百万个值,因此我试图找出最快的方法。
我发现的一种可能的解决方案是仅使用Pandas Series完成操作,但是我想知道是否可以仅使用Numpy数组切片方法来完成。如果不是,那很好,对最佳实践更好奇。
首发熊猫系列:
In [33]: x = pd.read_csv("data.txt", delimiter='\n', dtype=str, squeeze=True)
In [34]: x
Out[34]:
0 USC00013160194807SNOW
1 USC00013160194808SNOW
2 USC00013160194809SNOW
3 USC00013160194810SNOW
4 USC00013160194811SNOW, dtype: object
基于字符计数的向量化字符串处理:
In [37]: k = x.str[0:11]
输出:
In [38]: k
Out[38]:
0 USC00013160
1 USC00013160
2 USC00013160
3 USC00013160
4 USC00013160
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句