如何自定義fillna函數(shù)的填充邏輯

小樊
84
2024-08-29 14:09:02

在Python中,你可以使用pandas庫(kù)的fillna()函數(shù)來(lái)填充缺失值

import pandas as pd
import numpy as np

# 創(chuàng)建一個(gè)包含缺失值的DataFrame
data = {'A': [1, 2, np.nan], 'B': [4, np.nan, 6]}
df = pd.DataFrame(data)
print("原始DataFrame:")
print(df)

# 自定義填充邏輯
def custom_fillna(series):
    if series.name == 'A':
        return series.fillna(0)
    elif series.name == 'B':
        return series.fillna(method='ffill')
    else:
        return series

# 應(yīng)用自定義填充邏輯
filled_df = df.apply(custom_fillna)
print("\n使用自定義填充邏輯后的DataFrame:")
print(filled_df)

這個(gè)例子中,我們首先創(chuàng)建了一個(gè)包含缺失值的DataFrame。然后,我們定義了一個(gè)名為custom_fillna的函數(shù),該函數(shù)根據(jù)列名(‘A’或’B’)對(duì)缺失值進(jìn)行不同的處理。接下來(lái),我們使用apply()方法將自定義填充邏輯應(yīng)用于DataFrame。

運(yùn)行此代碼后,你將看到原始DataFrame已被修改,其中列’A’的缺失值被替換為0,列’B’的缺失值使用前向填充方法進(jìn)行填充。

0