我有一个大字符串数组,我将其存储为名为np_base的nparray:np.shape(np_base)
Out[32]: (65000000, 1)
我打算做的是垂直切片数组,以便将其分解为多个列,以后我将以独立的方式存储,所以我试图遍历行索引并附加:
for i in range(65000000):
INCDN.append(np.base[i, 0][0:5])
但这会导致内存错误。
有没有人可以帮我解决这个问题,我一直在搜索切片字符串数组的替代方法。
谢谢,
答案 0 :(得分:0)
将函数应用于numpy数组的方法有很多,其中一种方法如下:
np_truncated = np.vectorize(lambda x: x[:5])(np_base)
在大多数情况下,迭代地附加列表的方法通常是最少的解决方案。
或者,如果您打算使用多个列,则可能需要使用pandas
。
import pandas as pd
df = pd.DataFrame(np_base, columns=["Raw"])
truncated = df.Raw.str.slice(0,5)