我有这个数据框:
d = {'col1': [1, 2, "."], 'col2': [3, 4,5]}
x = pd.DataFrame(data=d)
x[x["col1"] == "."]
我想使用第三行将"."
替换为np.NaN
,但是我找不到正确的代码。
答案 0 :(得分:1)
只需使用df.replace()
:
import numpy as np
x.replace('.',np.nan)
返回:
col1 col2
0 1.0 3
1 2.0 4
2 NaN 5
请注意,这会将数据框中的所有'.'
替换为NaN
。
答案 1 :(得分:1)
如果要替换“。”仅在“ col1”中,则可以:
x.loc[x.col1 == '.', 'col1'] = np.nan
答案 2 :(得分:0)
在系列而非整个df上调用替换
x.col1=x.col1.replace('.',np.nan)
也可以使用np.where
np.where((x['col1'] == '.'), np.nan,x['col1'])