如何使用numpy替换数组中的字符?

2024-05-15 20:42:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组,它由字符串形式的数值和“?”组成表示缺失值的字符。我如何用一个离群值如-999999替换这些字符?在

我知道熊猫是有办法的,但是怎么只使用numpy呢?试图用类似的东西来找到这些值:

x=X[X=='?']

用numpy代替,但一点运气都没有。有什么帮助吗?在

谢谢


Tags: 字符串numpy数组字符形式数值离群办法
3条回答

一种方法是使用numpy.place

np.place(X,X=="?",-999999)

这和熊猫的方法很相似:

X[X == '?'] = '-999999'

此时,如果需要,可以使用

^{pr2}$

例如:

import numpy as np
X = np.array(['1', '2', '3', '?', '5'], dtype=object)
X[X == '?'] = '-999999'
X = X.astype(int)
print(X)
# array([      1,       2,       3, -999999,       5])

您还可以使用^{}

print(np.where(X == '?', '-999999', X).astype(int))

相关问题 更多 >