查找Numpy数组中每个字符串元素的长度

  • Post category:Python

要查找Numpy数组中每个字符串元素的长度,可以使用Numpy的vectorized函数numpy.vectorize和Python内置的len函数结合使用。

以下是完整的攻略:

  1. 创建Numpy数组,并确保其中含有字符串元素。

“`python
import numpy as np

arr = np.array([‘abcd’, ‘ef’, ‘ghijk’, ‘lmnop’])
“`

  1. 创建一个函数,用于计算字符串的长度。

python
def str_len(s):
return len(s)

  1. 使用numpy.vectorize创建一个向量化函数。

python
v_str_len = np.vectorize(str_len)

  1. 应用向量化函数到Numpy数组中。

python
len_arr = v_str_len(arr)

  1. 输出结果。

python
print(len_arr)
# [4 2 5 5]

在这个示例中,向量化函数将被应用于数组中的每个元素,并将结果储存在一个新的数组中。由于这是一个字符串数组,每个元素将被传递到str_len函数中,该函数将返回一个整数值表示字符串的长度。最终结果标为len_arr,并包含每个字符串元素的长度。

更具体一些的示例:

import numpy as np

# 示例1
arr1 = np.array(['hello', 'world'])
v_len = np.vectorize(len)
res1 = v_len(arr1)
print(res1)  # [5 5]

# 示例2
arr2 = np.array(['apple', 'banana', 'pear', 'watermelon'])
v_str_len = np.vectorize(lambda x: len(x))
res2 = v_str_len(arr2)
print(res2)  # [5 6 4 10]

总之,使用向量化函数和len函数相当容易地计算Numpy数组中每个字符串元素的长度。