当前位置:   article > 正文

Pandas索引操作_rangeindex

rangeindex

Pandas索引操作

Pandas中的索引操作非常灵活,功能非常强大。学会他的索引操作能帮助我们更好的处理数据。下面来对索引进行讲解。

一、索引类型

不管是Series还是DataFrame,索引对象的类型都是Index或者其子类。我们可以通过以下代码查看:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4))

print(type(df.index))
print(type(df.columns))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出结果为:

RangeIndex(start=0, stop=4, step=1)
RangeIndex(start=0, stop=4, step=1)
  • 1
  • 2

可以看到行和列的类型,都是RangeIndex类型。RangeIndex属于Index的子类。当然我们也可以直接通过显示创建Index的方式,修改dfindexcolumns,示例代码如下:

df.index = pd.Index(list("ABCD"))
df.columns = pd.Index(list("abcd"))
print(df)
  • 1
  • 2
  • 3

输出结果为:

a b c d
A 0.274963 0.084407 0.157835 0.797312
B 0.090830 0.512263 0.419373 0.466661
C 0.903084 0.367636 0.219719 0.258690
D 0.009205 0.631668 0.495482 0.316959

常用的Index类型还有以下。

1. RangeIndex:

区间索引,用法与Python中的range函数类似,可以指定startstopstep参数。示例代码如下:

df.index = pd.RangeIndex(start=1, stop=9, step=2)
  • 1

1. NumericIndex:

数值类型的索引,包括有浮点类型的Float64Index、整形的Int64Index、无符号整形的UInt64Index、序列类型的RangeIndex。他们的用法如下:

# 浮点类型
>>> pd.Float64Index([1,2,3,4])
Float64Index([1.0, 2.0, 3.0, 4.0], dtype="float64")

# 整数
>>> pd.Int64Index([1,2,3,4])
Int64Index([1, 2, 3, 4], dtype="int64")

# 无符号整数
>>> pd.UInt64Index([1,2,3,4])
UInt64Index([1, 2, 3, 4], dtype="uint64")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

其中Float64IndexInt64IndexUInt64IndexPandas 2.0版本中会被移除,统一使用NumericIndex代替。

2. CategoricalIndex:

分类索引,索引的值只能是指定分类的。否则会用NAN来代替。示例代码如下:

>>> df.index = pd.CategoricalIndex(list("ABCD"),categories=list("ABCD"))
  • 1

输出结果为:

    a        b        c        d
A    0.274963    0.084407    0.157835    0.797312
B    0.090830    0.512263    0.419373    0.466661
C    0.903084    0.367636 
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/638054
推荐阅读
相关标签
  

闽ICP备14008679号