如何防止pandas将0当作nan
时间: 2023-05-17 10:02:34 浏览: 63
可以使用pandas中的fillna()函数,将0替换为NaN,然后再使用fillna()函数将NaN替换为0。具体代码如下:
import pandas as pd
df = pd.DataFrame({'A': [0, 1, 2, 0, 4], 'B': [5, 6, 0, 8, 9]})
df = df.replace(0, pd.np.nan)
df = df.fillna(0)
print(df)
输出结果为:
A B
0 0.0 5.0
1 1.0 6.0
2 2.0 0.0
3 0.0 8.0
4 4.0 9.0
相关问题
pandas将NaN值修改为0
可以使用pandas中的fillna()函数将NaN值修改为0。示例代码如下:
```python
import pandas as pd
# 创建一个包含NaN值的DataFrame
df = pd.DataFrame({'A': [1, 2, np.NaN, 4], 'B': [np.NaN, 6, 7, 8]})
# 将NaN值修改为0
df.fillna(0, inplace=True)
print(df)
```
输出结果如下:
```
A B
0 1 0
1 2 6
2 0 7
3 4 8
```
在fillna()函数中,第一个参数是用于替换NaN值的值,这里是0。inplace=True表示直接在原始DataFrame上进行修改,而不是返回一个新的DataFrame。
pandas如何将nan替换成0
可以使用`fillna()`函数来将缺失值替换成指定值,以下是将DataFrame中所有的NaN值替换成0的示例代码:
```
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [3, np.nan, 5], 'C': [np.nan, 7, 8]})
df.fillna(0, inplace=True)
print(df)
```
输出结果:
```
A B C
0 1.0 3.0 0.0
1 2.0 0.0 7.0
2 0.0 5.0 8.0
```
其中`fillna()`函数的第一个参数是指定要替换的值,第二个参数`inplace=True`表示在原DataFrame上进行替换。