要查找Numpy数组中每个字符串元素的长度,可以使用Numpy的vectorized函数numpy.vectorize
和Python内置的len
函数结合使用。
以下是完整的攻略:
- 创建Numpy数组,并确保其中含有字符串元素。
“`python
import numpy as np
arr = np.array([‘abcd’, ‘ef’, ‘ghijk’, ‘lmnop’])
“`
- 创建一个函数,用于计算字符串的长度。
python
def str_len(s):
return len(s)
- 使用
numpy.vectorize
创建一个向量化函数。
python
v_str_len = np.vectorize(str_len)
- 应用向量化函数到Numpy数组中。
python
len_arr = v_str_len(arr)
- 输出结果。
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数组中每个字符串元素的长度。