简介:在 Pandas 中,可以使用各种方法来替换 DataFrame 或 Series 中的 NaN 值。下面是一些常见的方法:
在 Pandas 中,可以使用各种方法来替换 DataFrame 或 Series 中的 NaN 值。下面是一些常见的方法:
在这个例子中,我们使用 0 来替换所有的 NaN 值。
import pandas as pdimport numpy as npdf = pd.DataFrame({'A': [1, 2, np.nan], 'B': [5, np.nan, np.nan]})df.fillna(value=0, inplace=True)
在这个例子中,我们使用 0 来替换所有的 NaN 值。
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [5, np.nan, np.nan]})df.replace(np.nan, 0, inplace=True)
where() 方法where() 方法可以根据条件来设置值。当条件为真时,设置相应的值;否则,将 NaN 值保留为原始值。在这个例子中,我们将所有大于 0 的值设置为 0,而保留原始的 NaN 值。
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [5, np.nan, np.nan]})df.where(df > 0, 0, inplace=True)
mask() 方法在这个例子中,我们将所有小于等于 0 的值设置为 0,而保留原始的 NaN 值。
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [5, np.nan, np.nan]})df.mask(df <= 0, 0, inplace=True)
ffill() 和 bfill() 方法(前向和后向填充)在这个例子中,我们将 A 列的 NaN 值向前填充为前一个有效值,将 B 列的 NaN 值向后填充为后一个有效值。
import pandas as pdimport numpy as npdf = pd.DataFrame({'A': [1, 2, np.nan], 'B': [5, np.nan, np.nan]})df['A'].ffill(inplace=True)df['B'].bfill(inplace=True)