python里index函数_Python pandas.DataFrame.reset_index函数方法的使用

DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')[source]

重置索引或索引的一个级别。

重置DataFrame的索引,并使用默认索引。如果DataFrame有一个MultiIndex,此方法可以删除一个或多个级别。

参数:level : int, str, tuple, 或list, 默认为None

只从索引中删除给定的级别。默认移除所有级别。

drop :bool, 默认为False

不要尝试向dataframe列插入索引。这会将索引重置为默认整数索引。

inplace :bool, 默认为False

适当地修改DataFrame(不要创建新对象)。

col_level :int 或 str, 默认为 0

如果列有多个级别,请确定将标签插入到哪个级别。默认情况下,它被插入到第一级。

col_fill :object, default ‘’

如果列有多个级别,请确定其他级别的命名方式。如果没有,则重复索引名。

返回值:DataFrame 或 None

53/5000

带有新索引的DataFrame,如果inplace=True,则None。

例子,df = pd.DataFrame([('bird', 389.0),

... ('bird', 24.0),

... ('mammal', 80.5),

... ('mammal', np.nan)],

... index=['falcon', 'parrot', 'lion', 'monkey'],

... columns=('class', 'max_speed'))

>>> df

class max_speed

falcon bird 389.0

parrot bird 24.0

lion mammal 80.5

monkey mammal NaN

重置索引时,会将旧索引添加为列,并使用新的顺序索引:>>> df.reset_index()

index class max_speed

0 falcon bird 389.0

1 parrot bird 24.0

2 lion mammal 80.5

3 monkey mammal NaN

我们可以使用drop参数来避免将旧索引添加为列:>>> df.reset_index(drop=True)

class max_speed

0 bird 389.0

1 bird 24.0

2 mammal 80.5

3 mammal NaN

您也可以将reset_index与MultiIndex 一起使用>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),

... ('bird', 'parrot'),

... ('mammal', 'lion'),

... ('mammal', 'monkey')],

... names=['class', 'name'])

>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),

... ('species', 'type')])

>>> df = pd.DataFrame([(389.0, 'fly'),

... ( 24.0, 'fly'),

... ( 80.5, 'run'),

... (np.nan, 'jump')],

... index=index,

... columns=columns)

>>> df

speed species

max type

class name

bird falcon 389.0 fly

parrot 24.0 fly

mammal lion 80.5 run

monkey NaN jump

如果索引具有多个级别,我们可以重置其中的一个子集:>>> df.reset_index(level='class')

class speed species

max type

name

falcon bird 389.0 fly

parrot bird 24.0 fly

lion mammal 80.5 run

monkey mammal NaN jump

如果我们不删除该索引,则默认情况下会将其放置在顶层。我们可以将其放在另一个级别:>>> df.reset_index(level='class', col_level=1)

speed species

class max type

name

falcon bird 389.0 fly

parrot bird 24.0 fly

lion mammal 80.5 run

monkey mammal NaN jump

当索引插入到另一个级别下时,我们可以使用参数col_fill指定在哪个级别下:>>> df.reset_index(level='class', col_level=1, col_fill='species')

species speed species

class max type

name

falcon bird 389.0 fly

parrot bird 24.0 fly

lion mammal 80.5 run

monkey mammal NaN jump

如果我们为col_fill指定了不存在的级别,则会创建该级别:>>> df.reset_index(level='class', col_level=1, col_fill='genus')

genus speed species

class max type

name

falcon bird 389.0 fly

parrot bird 24.0 fly

lion mammal 80.5 run

monkey mammal NaN jump

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值