条件替换-Python

条件替换-Python,python,pandas,numpy,replace,Python,Pandas,Numpy,Replace,我有这个数据框: d = {'col1': [1, 2, "."], 'col2': [3, 4,5]} x = pd.DataFrame(data=d) x[x["col1"] == "."] 我想使用第三行将“替换为np.NaN,但我想不出正确的代码。只需使用df.replace(): 返回: col1 col2 0 1.0 3 1 2.0 4 2 NaN 5 请注意,这将在您的数据帧中用NaN替换所有出现的。。只需使用df.replace()

我有这个数据框:

d = {'col1': [1, 2, "."], 'col2': [3, 4,5]}
x = pd.DataFrame(data=d)
x[x["col1"] == "."]
我想使用第三行将
替换为
np.NaN
,但我想不出正确的代码。

只需使用
df.replace()

返回:

   col1  col2
0   1.0     3
1   2.0     4
2   NaN     5
请注意,这将在您的数据帧中用
NaN
替换所有出现的

只需使用
df.replace()

返回:

   col1  col2
0   1.0     3
1   2.0     4
2   NaN     5

请注意,这将在您的数据帧中将所有出现的
替换为
NaN

如果您只想替换“col1”中的“.”,则可以执行以下操作:

x.loc[x.col1 == '.', 'col1'] = np.nan

如果只想替换“col1”中的“.”,则可以执行以下操作:

x.loc[x.col1 == '.', 'col1'] = np.nan

对系列而不是整个df调用replace

x.col1=x.col1.replace('.',np.nan)
也可以使用np.where

np.where((x['col1'] == '.'), np.nan,x['col1'])

对系列而不是整个df调用replace

x.col1=x.col1.replace('.',np.nan)
也可以使用np.where

np.where((x['col1'] == '.'), np.nan,x['col1'])