fillna()
是一個用于填充缺失值(NaN)的函數,通常在 Pandas DataFrame 或 Series 中使用
首先,我們需要導入所需的庫并創建一個包含缺失值的示例 DataFrame:
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan], 'B': [4, np.nan, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
print("原始 DataFrame:")
print(df)
這將輸出以下 DataFrame:
原始 DataFrame:
A B C
0 1.0 4.0 7
1 2.0 NaN 8
2 NaN 6.0 9
現在,讓我們使用 fillna()
函數填充缺失值。有多種方法可以實現這一點:
filled_df = df.fillna(value=0)
print("使用特定值填充后的 DataFrame:")
print(filled_df)
這將輸出以下 DataFrame:
使用特定值填充后的 DataFrame:
A B C
0 1.0 4.0 7
1 2.0 0.0 8
2 0.0 6.0 9
filled_df = df.fillna(method='ffill')
print("使用前一個值填充后的 DataFrame:")
print(filled_df)
這將輸出以下 DataFrame:
使用前一個值填充后的 DataFrame:
A B C
0 1.0 4.0 7
1 2.0 4.0 8
2 2.0 6.0 9
filled_df = df.fillna(method='bfill')
print("使用后一個值填充后的 DataFrame:")
print(filled_df)
這將輸出以下 DataFrame:
使用后一個值填充后的 DataFrame:
A B C
0 1.0 4.0 7
1 2.0 6.0 8
2 1.0 6.0 9
filled_df = df.fillna(df.mean())
print("使用平均值填充后的 DataFrame:")
print(filled_df)
filled_df = df.fillna(df.median())
print("使用中位數填充后的 DataFrame:")
print(filled_df)
filled_df = df.apply(lambda x: x.fillna(x.mode().iloc[0]))
print("使用眾數填充后的 DataFrame:")
print(filled_df)
這些示例展示了如何結合其他函數使用 fillna()
來填充 DataFrame 中的缺失值。您可以根據需求選擇適當的填充方法。