当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。