pandas重置索引(python重置索引)35

作者 : 慕源网 本文共2880个字,预计阅读时间需要8分钟 发布时间: 2021-12-8 共425人阅读

pandas重置索引

Pandas DataFrame.reindex重置dataframe索引

本文是Python Pandas教程系列的一部分,您可以点击Python Pandas使用教程查看所有。

语法:

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

参数:

参数 : labels : 类数组,可选

新labels/index "axis"指定的轴与之一致。

index, columns : 类似数组,可选

要使用的新labels/index 引要符合。

最好是一个Index对象,以避免重复数据。

method {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None},

默认 None

用于在重新索引的DataFrame中填充孔的方法。

请注意:这仅适用于具有单调递增/递减索引的DataFrames/Series。

1) None (default): 不填补空白

2) pad / ffill: 将上一个有效观察值向前传播到下一个有效值。

3) backfill / bfill: 使用下一个有效观察值填充空白。

4) nearest: 使用最近的有效观测值来填补空白。

copy : boolean, 默认 True

即使传递的索引相同,也返回一个新对象。

level int 或 name

在一个级别上广播,在传递的MultiIndex级别上匹配索引值。

fill_value : scalar, 默认为 np.NaN

用于缺失值的值。默认为NaN,但可以是任何“compatible”值。

limit : int, 默认 None

向前或向后填充的连续元素的最大数量。

tolerance: 可选

不精确匹配的原始标签和新标签之间的最大距离。

在匹配位置的索引值最符合公式

abs(index[indexer] - target) <= tolerance

公差可以是一个标量值,

它对所有值应用相同的tolerance;也可以是类似列表的值,

它对每个元素应用可变的tolerance

list-like包括list、tuple、array、Series

并且必须与索引相同大小,

其dtype必须与索引的类型完全匹配。

新版本0.21.0:(列表式tolerance)

返回值 : 更改索引的DataFrame。

Pandas DataFrame.reindex 示例

下面给出了提到的例子:

示例#1

代码:

import pandas as pd
import numpy as np
index = ['element1', 'element2', 'element3', 'element4'] Core_Dataframe = pd.DataFrame({'Emp_No' : ['Emp1', np.nan,'Emp3','Emp4'],
'Employee_Name' :  ['Arun', 'selva', np.nan, 'arjith'],
'Employee_dept' : ['CAD', 'CAD', 'DEV', np.nan]}, index=index)
print("   THE CORE DATAFRAME BEFORE REINDEX OPERATION ")
print(Core_Dataframe)
print("")
print("   THE CORE DATAFRAME AFTER REINDEX OPERATION ")
print(Core_Dataframe.reindex(['element2','Row2','element4','element3']))
print("")

输出:

解释:

  • reindex 方法用于使用新的或重新排列的索引值重新索引所有行值,并将更新的DataFrame打印到控制台上。

示例#2

代码:

import pandas as pd
import numpy as np
index = ['element1', 'element2', 'element3', 'element4','element5','element6'] Core_Dataframe = pd.DataFrame({'A' :  [ 1, 6, 11, 15, 21, 26],
'B' :  [2, 7, 12, 17, 22, 27],
'C' :  [3, 1, 13, 18, 23, 28],
'D' :  [4, 9, 14, 19, 1, 29],
'E' :  [5, 10, 15, np.nan, 25, 30]},index=index)
print("   THE CORE DATAFRAME BEFORE REINDEX OPERATION ")
print(Core_Dataframe)
print("")
print("   THE CORE DATAFRAME AFTER REINDEX OPERATION ")
print(Core_Dataframe.reindex(['element5','element3','element4','element3','element2','element6']))
print("")

输出:

解释:

  • reindex 方法用于使用新的或重新排列的索引值重新索引所有行值,并将更新的DataFrame打印到控制台上。

示例 #3

代码:

import pandas as pd
import numpy as np
index = ['element1','element2','element3', 'element4','element5','element6','element7'] Core_Dataframe = pd.DataFrame( {
'name': ['Alan Xavier', 'Annabella', 'Janawong', 'Yistien', 'Robin sheperd', 'Amalapaul', 'Nori'],
'city': ['california', 'Toronto', 'ontario', 'Shanghai',
'Manchester', 'Cairo', 'Osaka'],
'age': [51, 38, 23, 64, 18, 31, 47],
'py-score': [82.0, 73.0, 81.0, 30.0, 48.0, 61.0, 84.0] },index=index)
print("   THE CORE DATAFRAME BEFORE REINDEX OPERATION ")
print(Core_Dataframe)
print("")
print("   THE CORE DATAFRAME AFTER REINDEX OPERATION ")
print(Core_Dataframe.reindex(['element5','element3','element4','element1','element2','element6','row7']))
print("")

输出:

结论

我们可以从上面的示例中了解 reindex() 在重新排列与DataFrame关联的索引值方面的操作精确度。

 


慕源网 » pandas重置索引(python重置索引)35

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录