Python中如何给DataFrame对象设置索引或者说增加索引?设定索引后有什么变化?如何删除索引?

Python中如何给DataFrame对象设置索引?设定索引后有什么变化?如何删除索引?

一、如何设置索引,使用set_index函数

看一个例子:

import pandas as pd
import numpy as np
df_test = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],
                     'key2': ['J0', 'J1', 'K0', 'K1'],
                     'A': ['A0', 'A1', 'A2', 'A3'],
                     'B': ['B0', 'B1', 'B2', 'B3']})
print(df_test)

如上图代码,新建一个dataframe对象df_test,df_test的内容如下:

这个时候默认创建的行索引为[0,1,2,3]。如果这时候想把key1作为行索引呢?可以用下面的代码

df_test.set_index('key1', inplace = True)
print(df_test)

输出结果就变成下面这个样子了,是不是和你想的一样?

二、设定索引后的变化呢?

设定索引后的索引这一列,不能使用列名来获取了。例如我想提取key2这一列,我可以用df_test['kye2']来获取;但是key1变为索引后,使用df1_test['key1']就会报错误了,报错为“except KeyError:"。提取索引应该使用df_test.index或者df_test.index.values。

三、如何删除索引?使用reset_index函数。

df_test.reset_index(inplace=True)就设定的index取消,key1变为正产的一列。

 

好的,就到这里了。dataframe重设索引的语句为df_test.set_index('列名', inplace = True),记住了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值