python – 如何替换数据框中某个字符的所有实例?

我有一个数据框,其中有很多’?’的实例在不同的行.列的数据类型是“对象”.

   现在我要替换所有’?’ 0.

我怎么做? 最佳答案 考虑数据帧df

df = pd.DataFrame([['?', 1], [2, '?']])

print(df)

   0  1
0  ?  1
1  2  ?

更换

df.replace('?', 0)

   0  1
0  0  1
1  2  0

面具或在哪里

df.mask(df == '?', 0)
# df.where(df != '?', 0)

   0  1
0  0  1
1  2  0

但是,想象一下你的数据帧有哪些?在较长的字符串内

df = pd.DataFrame([['a?', 1], [2, '?b']])

print(df)

    0   1
0  a?   1
1   2  ?b

替换为regex = True

df.replace('\?', '0', regex=True)

    0   1
0  a0   1
1   2  0b
点赞