Pandas 数据帧reindex()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-reindex-method

在本教程中,我们将讨论和学习 PandasDataFrame.reindex() 的方法。通过使用此方法,我们可以更改索引和列的名称。该方法使用可选的填充逻辑将数据帧与新索引进行协调。它将空值放在先前索引中没有值的位置。

下面是DataFrame.reindex() 方法的语法。

句法

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

示例 1:在 Pandas 中重新索引数据帧

这里,我们使用DataFrame.reindex()方法重新索引数据帧的索引。不在原始数据帧中的索引将自动由 NaN 值填充。见下面的例子。

#importing pandas as pd
import pandas as pd
#creating DataFrame
df= pd.DataFrame([[1,6,2],[3,4,6],[12,1,0]],columns=['A','B','C'],index=(['index_1','index_2','index_3']))
print("--------The DataFrame is----------")
print(df)
print("---------------------------------")
index=['index_1','index_2','index_4']
print(df.reindex(index))

-数据帧为- A B C 指数 _1 1 6 2 指数 _2 3 4 6 指数 _3 12 1 0 - A B C 指数 _1 1.0 6.0 2.0 指数 _2 3.0 4.0 6.0 指数 _4 NaN NaN

示例 2:在 Pandas 中重新索引数据帧

我们也可以使用DataFrame.reindex() 方法重新索引数据帧的列。不在原始数据帧中的列将自动由 NaN 值填充。见下面的例子。

#importing pandas as pd
import pandas as pd
#creating DataFrame
df= pd.DataFrame([[1,6,2],[3,4,6],[12,1,0]],columns=['A','B','C'],index=(['index_1','index_2','index_3']))
print("--------The DataFrame is----------")
print(df)
print("---------------------------------")
column=['A','C','D']
print(df.reindex(column,axis="columns"))

-数据帧为- A B C 指数 _1 1 6 2 指数 _2 3 4 6 指数 _3 12 1 0 - A C D 指数 _1 1 2 NaN 指数 _2 3 6 NaN 指数 _3 12 0 NaN

示例 3:在 Pandas 中重新索引数据帧

我们可以使用DataFrame.reindex() 方法中的参数fill_value=2 来填充空值。更改索引名称后,如果有空值,该空值将由值2填充。

#importing pandas as pd
import pandas as pd
#creating DataFrame
df= pd.DataFrame([[1,6,2],[3,4,6],[12,1,0]],columns=['A','B','C'],index=(['index_1','index_2','index_3']))
print("--------The DataFrame is----------")
print(df)
print("---------------------------------")
index=['index_1','index_2','index_4']
print(df.reindex(index,fill_value=2))

-数据帧为- A B C 指数 1 1 6 2 指数 _2 3 4 6 指数 _3 12 1 0 - A B C 指数 _1 1 6 2 指数 _2 3 4 6 指数 4 2 2 2 2

结论

在本教程中,我们学习了 PandasDataFrame.reindex()方法。我们学习了语法、参数,并通过在数据帧上应用这种方法解决了一些例子。