溫馨提示×

如何結(jié)合其他函數(shù)使用Python的fillna

小樊
83
2024-08-29 14:06:32
欄目: 編程語言

fillna() 是一個用于填充缺失值(NaN)的函數(shù),通常在 Pandas DataFrame 或 Series 中使用

首先,我們需要導(dǎo)入所需的庫并創(chuàng)建一個包含缺失值的示例 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

現(xiàn)在,讓我們使用 fillna() 函數(shù)填充缺失值。有多種方法可以實現(xiàn)這一點:

  1. 使用特定值填充:
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
  1. 使用前一個值填充:
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
  1. 使用后一個值填充:
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
  1. 使用平均值、中位數(shù)或眾數(shù)等統(tǒng)計方法填充:
filled_df = df.fillna(df.mean())
print("使用平均值填充后的 DataFrame:")
print(filled_df)

filled_df = df.fillna(df.median())
print("使用中位數(shù)填充后的 DataFrame:")
print(filled_df)

filled_df = df.apply(lambda x: x.fillna(x.mode().iloc[0]))
print("使用眾數(shù)填充后的 DataFrame:")
print(filled_df)

這些示例展示了如何結(jié)合其他函數(shù)使用 fillna() 來填充 DataFrame 中的缺失值。您可以根據(jù)需求選擇適當(dāng)?shù)奶畛浞椒ā?/p>

0