<div dir="ltr"><div dir="ltr">On Sat, Mar 6, 2021 at 12:57 PM dan_patterson <<a href="mailto:dan_patterson@outlook.com">dan_patterson@outlook.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The are  in np.char<br>
<br>
mystr = np.array(["test first", "test second", "test third"])<br>
<br>
np.char.title(mystr)<br>
array(['Test First', 'Test Second', 'Test Third'], dtype='<U11')<br></blockquote><div><br></div><div>I mentioned those in my email, but they are far less convenient to use than class methods, nor do they relate well to how built-in strings are used in Python. That is why other projects have started using accessor methods and why Python removed all the separate string functions in Python 3. The functions in np.char are also limited in their capabilities, and fairly poorly documented in my opinion.  Some of those limitations are impossible to overcome, for example they inherently can never support operators, addition or multiplication, or slicing like Python strings can, while an accessor could. </div><div><br></div><div>However, putting them as top-level methods for ndarray would pollute the methods too much. That is why I am suggesting numpy do the same thing that pandas, xarray, etc. are doing and putting those as methods under a 'str' attribute for ndarrays rather than as separate functions.</div><div><br></div></div></div>