在Pandas DataFrame中将单个单元格值设置为NaN并替换为

时间:2017-05-08 21:27:39

标签: pandas dataframe nan

我有以下数据框:


W: Conflicting distribution: https://downloads.plex.tv/repo/deb public InRelease (expected public but got )

如果我使用replace方法在整个数据帧上用Nan替换值,那么它可以工作:

In [96]: df1
Out[96]:
   a  b   c
   0  1  1  26
   1  1  2  38
   2  1  3  17

但是如果我尝试用Nan替换单个单元格值则不起作用:

In [97]: df1.replace(2, np.nan, inplace=True)

In [98]: df1
Out[98]:
   a    b   c
0  1  1.0  26
1  1  NaN  38
2  1  3.0  17

这种行为的原因是什么。

1 个答案:

答案 0 :(得分:1)

除了很棒的评论。您可以放弃inplace=True并重新分配结果

df1.iloc[1:2, 0:1] = df1.iloc[1:2, 0:1].replace(1, np.nan)

df1

     a    b   c
0  1.0  1.0  26
1  NaN  NaN  38
2  1.0  3.0  17