我有这个数据框架:
d = {'col1': [1, 2, "."], 'col2': [3, 4,5]}
x = pd.DataFrame(data=d)
x[x["col1"] == "."]
我想使用第三行代码将"."
替换为np.NaN
,但是我找不出正确的代码。
发布于 2018-12-14 05:10:12
只需使用df.replace()
即可
import numpy as np
x.replace('.',np.nan)
返回:
col1 col2
0 1.0 3
1 2.0 4
2 NaN 5
请注意,这将用NaN
替换数据帧中所有出现的'.'
。
发布于 2018-12-14 05:10:13
如果您想要替换“.”仅在'col1‘中,您可以执行以下操作:
x.loc[x.col1 == '.', 'col1'] = np.nan
发布于 2018-12-14 05:44:13
对一个系列调用replace,而不是对整个df调用replace
x.col1=x.col1.replace('.',np.nan)
也可以使用np.where
np.where((x['col1'] == '.'), np.nan,x['col1'])
https://stackoverflow.com/questions/53770076
复制相似问题