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

use*_*696 3 python dataframe pandas

我有一个数据框,其中有很多'?'的实例 在不同的行.列的数据类型是"对象".现在我要替换所有'?' 用0.我该怎么做?

piR*_*red 6

考虑数据帧 df

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

print(df)

   0  1
0  ?  1
1  2  ?
Run Code Online (Sandbox Code Playgroud)

replace

df.replace('?', 0)

   0  1
0  0  1
1  2  0
Run Code Online (Sandbox Code Playgroud)

mask 要么 where

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

   0  1
0  0  1
1  2  0
Run Code Online (Sandbox Code Playgroud)

但是,假设您的数据帧?在更长的字符串中.

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

print(df)

    0   1
0  a?   1
1   2  ?b
Run Code Online (Sandbox Code Playgroud)

replaceregex=True

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

    0   1
0  a0   1
1   2  0b
Run Code Online (Sandbox Code Playgroud)