>> x = np.-6ren">
gpt4 book ai didi

python - 使用 NumPy 按元素长度对字符串数组进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:44 26 4
gpt4 key购买 nike

我想使用 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 的 argsort 为您提供根据这些长度排序的索引。使用这些索引对原始数据进行索引:

import numpy as np
arr = np.array(["year","month","eye","i","stream","key","house"]) # np-array needed for later indexing
arr_ = map(lambda x: len(x), arr) # remark: py3 would work different here
x = arr[np.argsort(arr_)]
print(x)

关于python - 使用 NumPy 按元素长度对字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37858477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com