替换numpy ndarray中的字符(Python)

时间:2016-12-04 10:44:47

标签: python python-3.x numpy multidimensional-array

我有一个 numpy ndarray ,包含6个元素:

['\tblah blah' '"""123' 'blah' '"""' '\t456' '78\t9']

我正在尝试将所有制表符\t替换为每个 4个空格,以便numpy数组现在为:

[' blah blah' '"""123' 'blah' '"""' ' 456' '78 9']

我已经考虑了 re.sub 但是当它归结为numpy ndarray时无法弄清楚如何实现它。有任何建议/帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以使用NumPy's core.defchararray来处理与字符串相关的操作,对于这种情况,请使用replace method,就像这样 -

np.core.defchararray.replace(arr,'\t', '    ')

示例运行 -

In [44]: arr
Out[44]: 
array(['\tblah blah', '"""123', 'blah', '"""', '\t456', '78\t9'], 
      dtype='|S10')

In [45]: np.core.defchararray.replace(arr,'\t', '    ')
Out[45]: 
array(['    blah blah', '"""123', 'blah', '"""', '    456', '78    9'], 
      dtype='|S13')