pandas重置索引的几种做法?教你恢复默认行号实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“pandas重置索引的几种做法?教你恢复默认行号”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
目录
- Pandas中DataFrame重置索引
- 一、根据数据行的个数重新赋予索引
- 二、采用reset_index(drop=True)
- 三、采用reindex(labels=range(len(df))
- 四、采用set_index()自定义索引
- 总结
Pandas中DataFrame重置索引
在Pandas里,自定义索引后,有时候又需恢复默认索引。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(20).reshape(5,4),columns=['a','b','c','d'])
df
| a | b | c | d | |
|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 |
| 1 | 4 | 5 | 6 | 7 |
| 2 | 8 | 9 | 10 | 11 |
| 3 | 12 | 13 | 14 | 15 |
| 4 | 16 | 17 | 18 | 19 |
# 对df重排顺序,得到索引顺序倒序的数据
df = df.sort_values('a',ascending=False)
df
| a | b | c | d | |
|---|---|---|---|---|
| 4 | 16 | 17 | 18 | 19 |
| 3 | 12 | 13 | 14 | 15 |
| 2 | 8 | 9 | 10 | 11 |
| 1 | 4 | 5 | 6 | 7 |
| 0 | 0 | 1 | 2 | 3 |
一、根据数据行的个数重新赋予索引
df.index = range(len(df))
df
| a | b | c | d | |
|---|---|---|---|---|
| 0 | 16 | 17 | 18 | 19 |
| 1 | 12 | 13 | 14 | 15 |
| 2 | 8 | 9 | 10 | 11 |
| 3 | 4 | 5 | 6 | 7 |
| 4 | 0 | 1 | 2 | 3 |
二、采用reset_index(drop=True)
落到代码里,drop=True表示删除原索引,不然会在数据表格中新生成一列’index’数据
df = df.reset_index()
df
| index | a | b | c | d | |
|---|---|---|---|---|---|
| 0 | 4 | 16 | 17 | 18 | 19 |
| 1 | 3 | 12 | 13 | 14 | 15 |
| 2 | 2 | 8 | 9 | 10 | 11 |
| 3 | 1 | 4 | 5 | 6 | 7 |
| 4 | 0 | 0 | 1 | 2 | 3 |
df = df.reset_index(drop=True)
df
| a | b | c | d | |
|---|---|---|---|---|
| 0 | 16 | 17 | 18 | 19 |
| 1 | 12 | 13 | 14 | 15 |
| 2 | 8 | 9 | 10 | 11 |
| 3 | 4 | 5 | 6 | 7 |
| 4 | 0 | 1 | 2 | 3 |
三、采用reindex(labels=range(len(df))
df = df.reindex(labels=range(len(df)))
df
| a | b | c | d | |
|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 |
| 1 | 4 | 5 | 6 | 7 |
| 2 | 8 | 9 | 10 | 11 |
| 3 | 12 | 13 | 14 | 15 |
| 4 | 16 | 17 | 18 | 19 |
四、采用set_index()自定义索引
将原数据集中的列作为索引。
drop=True,默认,是将数据作为索引后,在表格中删除原数据
落到代码里,append=False,默认,是将新设置的索引设置为内层索引,原索引是外层索引
df = df.set_index(keys=['a'])
df
| b | c | d | |
|---|---|---|---|
| a | |||
| 16 | 17 | 18 | 19 |
| 12 | 13 | 14 | 15 |
| 8 | 9 | 10 | 11 |
| 4 | 5 | 6 | 7 |
| 0 | 1 | 2 | 3 |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。
您可能感兴趣的文章:
- pandas重置索引标签的实现示例
- Pandas.DataFrame重置Series的索引index(reset_index)
- Pandas reindex重置索引的采用
- pandas中DataFrame重置索引的几种方法
- 在Python中pandas.DataFrame重置索引名称的实例
- python pandas 对series和dataframe的重置索引reindex方法
相关资讯
-
08.23
阿里云倚天云服务器 ECS 全解:倚天 710 ARM 芯片、CIPU 加速与多场景落地
-
08.23
玩转腾讯云AISkills--多技能协同的智慧航道运维与通航监管实践心得记录
-
08.23
阿里云轻量应用服务器【智能体专用型】完整说明:实例参数、Tokens 与使用限制
-
08.23
点击高亮色块交互制作操作步骤
-
08.23
专访|罗长才:基于城市空间禀赋与所有制结构差异的区域GEO优化底层逻辑
-
08.23
室内高性能灯光照明制作操作步骤
游戏推荐
推荐专题
热门阅读
-
-
- 正则表达式使用元字符(必知必会)实用指南
- 08.23
-
- grok-app:实践指南
- 08.23
-
-
- 录咖-一站式AI音视频总结和转录处理工具
- 08.23
-
- Devin-首个全自主的AI软件工程师智能体
- 08.23
推荐下载
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏