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


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


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

Pandas dataframe.reindex_axis()函數使輸入對象符合新索引。該函數填充NaN先前索引中沒有值的位置中的值。它還提供了一種填充 DataFrame 中缺失值的方法。除非新索引等於當前索引並且copy = False,否則將生成一個新對象。

用法:
用法:DataFrame.reindex_axis(labels, axis=0, method=None, level=None, copy=True, limit=None, fill_value=nan)

參數:
labels:要符合的新標簽/索引。最好是一個Index對象,以避免重複數據
axis:{0或“索引”,1或“列”}
method:{None,“ backfill” /“ bfill”,“ pad” /“ ffill”,“ nearest”},可選
copy:即使傳遞的索引相同,也返回一個新對象
level:在一個級別上廣播,在傳遞的MultiIndex級別上匹配索引值
limit:向前或向後填充的最大連續元素數
tolerance:不完全匹配的原始標簽和新標簽之間的最大距離。匹配位置處的索引值最滿足方程abs(index [indexer]-target)

返回:重新索引:DataFrame

範例1:采用reindex_axis()用於在索引軸上重新索引 DataFrame 的函數。默認情況下,新索引中在 DataFrame 中沒有對應記錄的值被分配為NaN。
注意:我們可以使用“填充”方法填寫缺少的值

# importing pandas as pd 
import pandas as pd 
  
# Creating the dataframe  
df = pd.DataFrame({"A":[1, 5, 3, 4, 2],  
                   "B":[3, 2, 4, 3, 4], 
                   "C":[2, 2, 7, 3, 4], 
                   "D":[4, 3, 6, 12, 7]}, 
                   index =["A1", "A2", "A3", "A4", "A5"]) 
  
# Print the dataframe 
df

讓我們使用dataframe.reindex_axis()用於在索引軸上重新索引 DataFrame 的函數

# reindexing with new index values 
df.reindex_axis(["A1", "A2", "A4", "A7", "A8"], axis = 0)

輸出:

注意輸出,新索引填充為NaN值,我們可以使用“填充”方法填寫缺少的值。

# filling the missing values using ffill method 
df.reindex_axis(["A1", "A2", "A4", "A7", "A8"],  
                     axis = 0, method ='ffill')

輸出:

注意,在輸出中,新索引已使用“A5”行填充。

範例2:采用reindex_axis()重新索引列軸的函數

# importing pandas as pd 
import pandas as pd 
  
# Creating the dataframe  
df = pd.DataFrame({"A":[1, 5, 3, 4, 2], 
                   "B":[3, 2, 4, 3, 4], 
                   "C":[2, 2, 7, 3, 4], 
                   "D":[4, 3, 6, 12, 7]},  
                   index =["A1", "A2", "A3", "A4", "A5"]) 
  
# reindexing the column axis with 
# old and new index values 
df.reindex_axis(["A", "B", "D", "E"], axis = 1)

輸出:

注意,我們有NaN重新編製索引後,新列中的值會發生變化,我們可以解決重新編製索引時遺漏的值。通過使用ffill 方法,我們可以向前填充缺少的值。

# reindex the columns 
# we fill the missing values using ffill method 
df.reindex_axis(["A", "B", "D", "E"], axis = 1, method ='ffill')

輸出:



相關用法


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