将 numpy.ndarray 转换为小写

Posted

技术标签:

【中文标题】将 numpy.ndarray 转换为小写【英文标题】:Convert numpy.ndarray to lowercase 【发布时间】:2018-11-21 23:15:44 【问题描述】:

我是numpy 的新手,我正在尝试将numpy.ndarray 元素转换为小写。我有一个数组(打印后)如下:

[247.5 247.5 247.5 247.5 247.5 247.5 247.5 247.5 49.5 247.5 247.5 495
 3019.5 nan nan nan nan nan nan nan nan nan nan nan
 'Total Bill' nan 247.5 247.5 247.5 742.5 742.5 nan nan nan
 nan nan nan nan nan]

其实是一个数据库系列,我已经转换成np.array了。

array.shape(39,) 想要转换为小写以便输出为

[247.5 247.5 247.5 247.5 247.5 247.5 247.5 247.5 49.5 247.5 247.5 495
 3019.5 nan nan nan nan nan nan nan nan nan nan nan
 'total bill' nan 247.5 247.5 247.5 742.5 742.5 nan nan nan
 nan nan nan nan nan]

【问题讨论】:

这是字符串 dtype 数组还是对象 dtype?如果是对象,为什么是数组而不是列表? 【参考方案1】:

试试:

a = np.array([x.lower() if isinstance(x, str) else x for x in arr])

【讨论】:

a 仍然是np.array 吗? 嗯,我不这么认为。已更正。 不转成数组就没有直接的方法吗? 它给错误Wrong number of items passed 39, placement implies 1

以上是关于将 numpy.ndarray 转换为小写的主要内容,如果未能解决你的问题,请参考以下文章

如何将PyTorch张量转换为Numpy ndarray

TypeError:获取参数数组的类型无效 numpy.ndarray,必须是字符串或张量。 (不能将 ndarray 转换为张量或操作。)

“ValueError:无法将 NumPy 数组转换为张量(不支持的对象类型 numpy.ndarray)。在 TensorFlow CNN 中进行图像分类

将 dtype <U30 的 numpy ndarray 转换为 float

为啥它会自动转换为 numpy.ndarray?

是否有将 numpy.ndarray 转换为列表的有效方法?