Python Pandas dataframe.reindex()

Python Pandas dataframe.reindex()

Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。

Pandas dataframe.reindex()函数将DataFrame与新的索引相符合,并可选择填充逻辑,将NA/NaN放置在前一个索引中没有值的位置。除非新的索引等同于当前的索引,并且copy=False,否则会产生一个新的对象。

语法: DataFrame.reindex(labels=None, index=None, columns=None, axis=None, method=None, copy=True, level=None, fill_value=nan, limit=None, tolerance=None)

参数 :
labels :新的标签/索引,以符合’axis’所指定的axis。
index, columns :新的标签/索引要符合。最好是一个索引对象,以避免重复的数据
axis :axis的目标。可以是axis的名称(’索引’、’列’)或数字(0、1)。
method: {None, ‘backfill’/’bfill’, ‘pad’/’ffill’, ‘nearest’}, optional
copy : 返回一个新的对象,即使通过的索引是相同的。
level :跨层广播,与通过的MultiIndex层的索引值相匹配。
fill_value : 在计算前用这个值填充现有的缺失(NaN)值,以及成功的DataFrame对齐所需的任何新元素。如果两个对应的DataFrame位置的数据都缺失,结果将是缺失。
limit :向前或向后填充的最大连续元素数
tolerance :不精确匹配的原始和新标签之间的最大距离。匹配位置的索引值最能满足方程式abs(index[indexer] – target) <= tolerance。

返回 : reindexed : DataFrame

示例#1:使用reindex()函数对数据框架进行重新索引。默认情况下,新索引中的值如果在数据框架中没有相应的记录,就会被分配为NaN。
注意:我们可以通过向关键字fill_value传递一个值来填补缺失的值。

# 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 =["first", "second", "third", "fourth", "fifth"])
  
# Print the dataframe
df

Python Pandas dataframe.reindex()

让我们使用dataframe.reindex()函数来重新索引数据框架。

# reindexing with new index values
df.reindex(["first", "dues", "trois", "fourth", "fifth"])

输出 :
Python Pandas dataframe.reindex()
注意输出结果,新的索引被填充为NaN值,我们可以使用参数fill_value来填补缺失的值。

# filling the missing values by 100
df.reindex(["first", "dues", "trois", "fourth", "fifth"], fill_value = 100)

输出 :
Python Pandas dataframe.reindex()

示例#2:使用reindex()函数来重新索引列axis。

# 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]})
  
# reindexing the column axis with
# old and new index values
df.reindex(columns =["A", "B", "D", "E"])

输出 :
Python Pandas dataframe.reindex()
注意,我们在重新索引后的新列中有NaN值,我们可以在重新索引时处理缺失的值。通过向该函数传递一个参数fill_value。

# reindex the columns
# fill the missing values by 25
df.reindex(columns =["A", "B", "D", "E"], fill_value = 25)

输出 :
Python Pandas dataframe.reindex()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程