将 numpy.ndarray 转换为小写

问题描述 投票:0回答:2

我是

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]
python-3.x pandas numpy numpy-ndarray
2个回答
4
投票

尝试:

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

0
投票

使用

numpy>=2.0
,您可以像这样使用
np.strings.lower
,而不必使用循环

>>> c = np.array(['A1B C', '1BCA', 'BCA1'])
>>> c
array(['A1B C', '1BCA', 'BCA1'], dtype='<U5')
>>> np.char.lower(c)
array(['a1b c', '1bca', 'bca1'], dtype='<U5')

请注意,这仅在 numpy 数组的元素为 string/unicode 数据类型时才有效,但当它们为

object
s 时则无效。

© www.soinside.com 2019 - 2024. All rights reserved.