如何在 Pandas Series 的某一列中将 NaN 值替换为零?

pandasserver side programmingprogramming更新于 2025/6/27 16:07:17

要将 Pandas Series 的某一列中的 NaN 值替换为零或其他值,我们可以使用 s.fillna() 方法。

步骤

  • 创建一个带有轴标签(包括时间序列)的一维 ndarray

  • 打印输入的 Series。

  • 使用 s.fillna(0) 将 Series 中的 NaN 替换为值 0。

  • 类似地,使用 s.fillna(5)s.fillna(7) 将 Series 中的 NaN 分别替换为值 5 和 7。

  • 打印替换后的 NaN系列。

示例

import pandas as pd
import numpy as np

s = pd.Series([1, np.nan, 3, np.nan, 3, np.nan, 7, np.nan, 3])
print "Input series is:
", s print "After replacing NaN with 0:
", s.fillna(0) print "After replacing NaN with 5:
", s.fillna(5) print "After replacing NaN with 7:
", s.fillna(7)

输出

Input series is:
   x    y   z
0 5.0  NaN  NaN
1 NaN  1.0  1.0
2 1.0  NaN  NaN
3 NaN 10.0  NaN
After replacing NaN with 0:
    x    y    z
0 5.0   0.0  0.0
1 0.0   1.0  1.0
2 1.0   0.0  0.0
3 0.0  10.0  0.0
After replacing NaN with 5: 
   x    y   z
0 5.0  5.0  5.0
1 5.0  1.0  1.0
2 1.0  5.0  5.0
3 5.0 10.0  5.0
After replacing NaN with 7:
   x    y   z
0 5.0  7.0  7.0
1 7.0  1.0  1.0
2 1.0  7.0  7.0
3 7.0 10.0  7.0

相关文章