Python里fillna函數(shù)的參數(shù)有哪些

小樊
89
2024-08-29 13:59:35

fillna() 是 pandas 庫(kù)中 DataFrame 和 Series 對(duì)象的一個(gè)方法,用于填充缺失值(NaN)

  1. value:用于替換缺失值的值??梢允且粋€(gè)數(shù)字、字符串或者一個(gè)方法(如平均值、眾數(shù)等)。
  2. method:用于填充缺失值的方法??蛇x值包括 ‘pad’/‘ffill’(前向填充,使用前一個(gè)值填充缺失值),‘backfill’/‘bfill’(后向填充,使用后一個(gè)值填充缺失值)。
  3. axis:指定要填充的軸。默認(rèn)為 None,表示沿著 DataFrame 的每一列進(jìn)行填充。如果設(shè)置為 0,則沿著每一行進(jìn)行填充;如果設(shè)置為 1,則沿著每一列進(jìn)行填充。
  4. inplace:布爾值,表示是否在原 DataFrame 上進(jìn)行修改。默認(rèn)為 False,表示返回一個(gè)新的 DataFrame,而不修改原始 DataFrame。如果設(shè)置為 True,則會(huì)直接修改原始 DataFrame。
  5. limit:指定連續(xù)填充的最大值。當(dāng)設(shè)置為一個(gè)正整數(shù)時(shí),表示最多填充指定數(shù)量的連續(xù)缺失值。例如,如果設(shè)置為 2,那么只有連續(xù)的兩個(gè)缺失值會(huì)被填充,超過(guò)兩個(gè)的缺失值將保持不變。
  6. downcast:指定是否將填充后的數(shù)據(jù)類型降級(jí)。默認(rèn)為 None,表示不進(jìn)行降級(jí)??梢栽O(shè)置為 ‘infer’,表示根據(jù)填充后的數(shù)據(jù)自動(dòng)推斷合適的數(shù)據(jù)類型。

下面是一個(gè)使用 fillna() 方法的示例:

import pandas as pd
import numpy as np

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

# 使用 fillna() 方法填充缺失值
filled_df = df.fillna(method='ffill', axis=1)
print(filled_df)

輸出結(jié)果:

     A    B
0  1.0  1.0
1  2.0  2.0
2  NaN  3.0

0