當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python Pandas dataframe.interpolate()用法及代碼示例

Python是進行數據分析的一種出色語言,主要是因為以數據為中心的python軟件包具有奇妙的生態係統。 Pandas是其中的一種,使導入和分析數據更加容易。

Pandas dataframe.interpolate()函數本質上是用來填充NA DataFrame 或係列中的值。但是,這是一個非常強大的函數,可以填補缺失的值。它使用各種插值技術來填充缺失值,而不是hard-coding值。

用法: DataFrame.interpolate(method=’linear’, axis=0, limit=None, inplace=False, limit_direction=’forward’, limit_area=None, downcast=None, **kwargs)

參數:
method:{“線性”,“時間”,“索引”,“值”,“最近”,“零”,“線性”,“二次”,“三次”,“重心”,“克羅格”,“多項式”,“樣條”,“ piecewise_polynomial”,“ from_derivatives”,“ pchip”,“ akima”}

axis:0填充column-by-column和1填充row-by-row。
limit:要填充的連續NaN的最大數量。必須大於0。
limit_direction:{“前進”,“後退”,“兩者”},默認為“前進”
limit_area:無(默認)無填充限製。inside 僅填充有效值包圍的NaN(內插)。outside 僅將NaN填充到有效值之外(外推)。如果指定了限製,則將沿該方向填充連續的NaN。
inplace:如果可能,更新NDFrame。
downcast:如果可能,請向下轉換dtypes。
kwargs:關鍵字參數傳遞給插值函數。

返回值:在NaN處插補的相同形狀的Series或DataFrame

範例1:采用interpolate()函數使用線性方法填充缺失值。

# importing pandas as pd 
import pandas as pd 
  
# Creating the dataframe  
df = pd.DataFrame({"A":[12, 4, 5, None, 1], 
                   "B":[None, 2, 54, 3, None], 
                   "C":[20, 16, None, 3, 8], 
                   "D":[14, 3, None, None, 6]}) 
  
# Print the dataframe 
df

讓我們使用線性方法對缺失值進行插值。請注意,線性方法會忽略索引,並將值等距地對待。

# to interpolate the missing values 
df.interpolate(method ='linear', limit_direction ='forward')

輸出:

正如我們看到的輸出,第一行中的值無法填充,因為值的填充方向為forward並且沒有可用於插值的先前值。

範例2:采用interpolate()函數使用線性方法向後插值缺失值,並限製最大連續數Na可以填充的值。

# importing pandas as pd 
import pandas as pd 
  
# Creating the dataframe  
df = pd.DataFrame({"A":[12, 4, 5, None, 1], 
                   "B":[None, 2, 54, 3, None], 
                   "C":[20, 16, None, 3, 8], 
                   "D":[14, 3, None, None, 6]}) 
  
# to interpolate the missing values 
df.interpolate(method ='linear', limit_direction ='backward', limit = 1)

輸出:

請注意第四列,因為我們將極限設置為1,所以僅填充了一個缺失值。最後一行的缺失值無法填充,因為在該值之後可以插值的行不存在。



相關用法


注:本文由純淨天空篩選整理自Shubham__Ranjan大神的英文原創作品 Python | Pandas dataframe.interpolate()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。