numpyを要素の長さで使用して文字列配列をソートするとします。numpyを使用して文字列配列をソート
>>> arr = ["year","month","eye","i","stream","key","house"]
>>> x = np.sort(arr, axis=-1, kind='mergesort')
>>> print(x)
['eye' 'house' 'i' 'key' 'month' 'stream' 'year']
ただし、英数字の順序で並べ替えます。どのようにnumpyを長さで並べ替えることができますか?
これが高速かもしれないと考えているため、これを行う場合、numpyの仕組みを理解していません。これは、同じ量のバイトを占める要素用に設計されています。不等長さの文字列はそれを満たしておらず、単にnumpyでオブジェクトにラップすることになりますが、これはたぶん非効率です。 –
numpyを使用する理由はたくさんありますが、私はOliverの発言に同意しなければなりません。このコード例では、Pythonのビルトインソートメソッドが必要です。より美しく/コンパクトな構文が可能です。 (しかし多分あなたはnumpyを使用する他の理由があり、これはほんの一例です)。 – sascha
ありがとうございます。今のところ、私は新鮮ではないと私は理解しようとしています。 @saschaそれでは、長さによって並べ替えるために非常に多くの文字列要素があると、どのように使用できますか? Python独自のソート方法のみ? – GGG