Hi Hongchun, On 16 Aug 2011, at 23:19, Hongchun Jin wrote:
> I have a question regarding how to trim a string array in numpy. > > >>> import numpy as np > >>> x = np.array(['aaa.hdf', 'bbb.hdf', 'ccc.hdf', 'ddd.hdf']) > > I expect to trim a certain part of each element in the array, for example > '.hdf', giving me ['aaa', 'bbb', 'ccc', 'ddd']. Of course, I can do a loop > thing. However, in my actual dataset, I have more than one million elements > in such an array. So I am wondering is there a faster and better way to do > it, like STRMID function in IDL? I try to google it, but it turns out that I > can not find any discussion about it. Thanks. > For a case like above, if you really have all constant length strings and want to truncate to a fixed length, you could simply do x.astype('|S3') For more complex cases like trimming regex patterns I can't think of a numpy solution right now, coding the loop in cython might be a better bet there... Cheers, Derek _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion