gpt4 book ai didi

python - numpy.apply_along_axis 截断字符串,因为它推断出错误的数据类型 '
转载 作者:太空宇宙 更新时间:2023-11-03 20:56:36 24 4
gpt4 key购买 nike

我不知道如何返回 dtype U3 的字符串

我想要:

  1. 将_along_axis应用于my_array

  2. 对于每一行,返回一个字符串

def my_function(x):
return x[2]
my_array = np.array([[1,1,"A"],[1,1,"BBB"], [1,1,"CCC"]])
np.apply_along_axis(my_function, axis=1, arr=my_array)

我期望的输出: array(['A', 'BBB', 'CCC'], dtype='<U3')但实际输出是 array(['A', 'B', 'C'], dtype='<U1')

因为第一个元素 ('A') 具有固定大小的 U1,所以接下来的每个元素都会截断为 U1 ('BBB' -> 'B')。

您知道如何将代码更改为字符串(例如 dtype U3)吗?

最佳答案

尝试这个(尽管可能应该有更好的方法):

import numpy as np

def my_function(x):
return np.array(x[2], dtype='<U3')

my_array = np.array([[1,1,"A"],[1,1,"BBB"], [1,1,"CCC"]])
np.apply_along_axis(my_function, axis=1, arr=my_array)

关于python - numpy.apply_along_axis 截断字符串,因为它推断出错误的数据类型 '<U1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55984973/

24 4 0

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