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


Python Pandas dataframe.reindex_like()用法及代码示例


Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。

Pandas dataframe.reindex_like()函数向我自己返回一个具有匹配索引的对象。任何不匹配的索引都用NaN值。

用法:
用法:DataFrame.reindex_like(other, method=None, copy=True, limit=None, tolerance=None)

参数:
other: Object
method:字符串或无
copy:布尔值,默认为True
limit:填充不完全匹配项的最大连续标签数。
tolerance:不完全匹配时,另一个对象和该对象的标签之间的最大距离。可以是list-like。

返回:重新编制索引:与输入相同

范例1:采用reindex_like()函数查找给定两个数据帧之间的匹配索引。

注意:我们可以使用任何一种填充方法(例如“ ffill”,“ bfill”)来填充缺失值。

# importing pandas as pd 
import pandas as pd 
  
# Creating the first dataframe  
df1 = 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"]) 
  
# Creating the second dataframe 
df2 = pd.DataFrame({"A":[10, 11, 7, 8, 5],  
                    "B":[21, 5, 32, 4, 6], 
                    "C":[11, 21, 23, 7, 9],  
                    "D":[1, 5, 3, 8, 6]},  
                     index =["A1", "A3", "A4", "A7", "A8"]) 
  
# Print the first dataframe 
df1 
  
# Print the second dataframe 
df2


让我们使用dataframe.reindex_like()函数查找匹配的索引。

# find matching indexes 
df1.reindex_like(df2)

输出:

注意输出,不匹配的索引填充为NaN值,我们可以使用“填充”方法填写缺少的值。

# filling the missing values using ffill method 
df1.reindex_like(df2, method ='ffill')

输出:

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

范例2:采用reindex_like()函数用于匹配两个 DataFrame 的索引,并限制填充缺失值。

# importing pandas as pd 
import pandas as pd 
  
# Creating the first dataframe  
df1 = 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"]) 
  
# Creating the second dataframe 
df2 = pd.DataFrame({"A":[10, 11, 7, 8, 5], 
                    "B":[21, 5, 32, 4, 6], 
                    "F":[11, 21, 23, 7, 9], 
                    "K":[1, 5, 3, 8, 6]}, 
                    index =["A1", "A2", "A3", "A4", "A7"]) 
  
# matching the indexes 
df1.reindex_like(df2)

输出:

注意输出,不匹配的索引填充为NaN值,我们可以使用“填充”方法填写缺少的值。我们还限制了可以使用limit参数填充的连续不匹配索引的数量。

# match the indexes 
# fill the unmatched index using 'ffill' method 
# maximum consecutive unmatched indexes to be filled is 1 
  
df.reindex_like(df1, method ='ffill', limit = 1)

输出:



相关用法


注:本文由纯净天空筛选整理自Shubham__Ranjan大神的英文原创作品 Python | Pandas dataframe.reindex_like()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。