我在下面给出了一个 numpy 数组:
array([[' 0.12E'],
[' 0.00F'],
[' 0.00F'],
...,
[' 0.00G'],
[' 0.00G'],
[' 0.00G']], dtype=object)
我需要删除 E F 和 G,并将数组中的每个元素转换为 Float。我该怎么做??
请您参考如下方法:
选项 1
使用 numpy 字符串类型自动修剪最后一个字符。然后转换为float
如果您可以相信所有条目都是 6 个字符长并且以需要修剪的字符结尾:...
a.astype('<U5').astype(float)
array([[ 0.12],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ]])
选项 2
使用 pd.DataFrame.replace 和 regex=True 删除非数字,然后转换为 float 。
pd.DataFrame(a).replace('[^\d\.]', '', regex=True).astype(float).values
array([[ 0.12],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ]])
