有条件的替换-Python

时间:2018-12-13 21:06:58

标签: python pandas numpy replace

我有这个数据框:

d = {'col1': [1, 2, "."], 'col2': [3, 4,5]}
x = pd.DataFrame(data=d)
x[x["col1"] == "."]

我想使用第三行将"."替换为np.NaN,但是我找不到正确的代码。

3 个答案:

答案 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'])