Pandas (GeoPandas)笔记:set_index reset_index
python包介绍:GeoPandas(初识)_UQI-LIUWJ的博客-CSDN博客
python 库整理:pandas_UQI-LIUWJ的博客-CSDN博客
1 set_index
将 DataFrame
中的列转化为行索引。
默认情况下,转换之后,原来的列将不见
1.1 基本使用方法
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
1.2 参数说明
keys | 列标签(需要设置为索引的列) |
drop |
删除用作新索引的列 默认为True |
append |
是否将列附加到现有索引 默认为False |
inplace |
表示当前操作是否对原数据生效 默认为False |
verify_integrity |
检查新索引的副本 将其设置为False将提高该方法的性能 默认为false |
1.3 举例说明
1.3.0 原始数据
import pandas as pddata={'a':range(7),'b':range(7,0,-1),'c':['one','one','one','two','two','two','two'],'d':[0,1,2,0,1,2,3]}
f1=pd.DataFrame(data)
f1'''a b c d
0 0 7 one 0
1 1 6 one 1
2 2 5 one 2
3 3 4 two 0
4 4 3 two 1
5 5 2 two 2
6 6 1 two 3
'''
1.3.1 默认情况
f1.set_index(['c'])
'''a b d
c
one 0 7 0
one 1 6 1
one 2 5 2
two 3 4 0
two 4 3 1
two 5 2 2
two 6 1 3
'''
1.3.2 保留索引所在的列(drop)
f1.set_index(['c'],drop=False)
'''a b c d
c
one 0 7 one 0
one 1 6 one 1
one 2 5 one 2
two 3 4 two 0
two 4 3 two 1
two 5 2 two 2
two 6 1 two 3
'''
1.3.3 多重索引
f1.set_index(['c','d'], drop=False)
'''a b c d
c d
one 0 0 7 one 01 1 6 one 12 2 5 one 2
two 0 3 4 two 01 4 3 two 12 5 2 two 23 6 1 two 3
'''f1.set_index(['d','c'], drop=False)
'''a b c d
d c
0 one 0 7 one 0
1 one 1 6 one 1
2 one 2 5 one 2
0 two 3 4 two 0
1 two 4 3 two 1
2 two 5 2 two 2
3 two 6 1 two 3
'''
1.3.4 添加到原有索引(append)
f1.set_index('c', append=True)
'''a b dc
0 one 0 7 0
1 one 1 6 1
2 one 2 5 2
3 two 3 4 0
4 two 4 3 1
5 two 5 2 2
6 two 6 1 3
'''
1.3.5 手动指定索引
f1.set_index([pd.Index([1,2,3,4,5,6,7]), 'c'])
'''a b dc
1 one 0 7 0
2 one 1 6 1
3 one 2 5 2
4 two 3 4 0
5 two 4 3 1
6 two 5 2 2
7 two 6 1 3'''
1.3.6 索引计算
s = pd.Series([1,2,3,4,5,6,7])
f1.set_index([s, s**2])
'''a b c d
1 1 0 7 one 0
2 4 1 6 one 1
3 9 2 5 one 2
4 16 3 4 two 0
5 25 4 3 two 1
6 36 5 2 two 2
7 49 6 1 two 3
1
'''
1.3.7 修改原始数据(inplace)
f1.set_index(['c','d'], inplace=True)
f1
'''a b
c d
one 0 0 71 1 62 2 5
two 0 3 41 4 32 5 23 6 1
'''
2 reset
重新设置 DataFrame
索引
2.1 使用方法
DataFrame.reset_index(level=None, drop=False, inpalce=False, col_level=0, col_fill=' ')
2.2 参数说明
level |
数值类型, int、str、tuple或list 默认无——删除所有级别的索引 指定level——删除指定级别 |
drop |
当指定 drop=False 时,则索引列会被还原为普通列; 否则,经设置后的新索引值被会丢弃 默认为False |
inplace |
布尔类型 是否修改原始数据框 默认False |
2.3 举例
2.3.0 原始数据
import pandas as pddata={'a':range(7),'b':range(7,0,-1),'c':['one','one','one','two','two','two','two'],'d':[0,1,2,0,1,2,3]}
f1=pd.DataFrame(data)
f1=f1.set_index(['c','d'])
f1'''a b
c d
one 0 0 71 1 62 2 5
two 0 3 41 4 32 5 23 6 1
'''
2.3.1 level
level=数字,或者等于索引的名称都可以
f1.reset_index(level='c')
#等价于
f1.reset_index(level=0)
'''c a b
d
0 one 0 7
1 one 1 6
2 one 2 5
0 two 3 4
1 two 4 3
2 two 5 2
3 two 6 1
'''f1.reset_index(level='d')
#等价于
f1.reset_index(level=1)
'''d a b
c
one 0 0 7
one 1 1 6
one 2 2 5
two 0 3 4
two 1 4 3
two 2 5 2
two 3 6 1
'''
Pandas (GeoPandas)笔记:set_index reset_index相关推荐
- pandas学习笔记------set_index()
pandas中set_index()方法是专门用来将某一列设置为index的方法. 主要参数: keys:需要设置为index的列名 drop:True or False.将某列设置为index后,是 ...
- 数据分析之pandas学习笔记(六)(层次化索引、重塑、轴向旋转、行列变换、合并表数据)
数据分析之Pandas学习笔记(六)(层次化索引.重塑.轴向旋转.行列变换.合并表数据) level层次化索引 unstack()与stack()进行重塑,即:行列索引变换 swaplevel()交换 ...
- Pandas学习笔记(一)
Pandas学习笔记一 Pandas数组读取 读取csv.tsv.txt文件 读取excel文件 读取mysql数据表 Pandas数据结构 创建Series的几种方法 根据标签查询Series数据 ...
- pandas学习笔记:pandas.Dataframe.rename()函数用法
pandas学习笔记:pandas.Dataframe.rename()函数用法 pandas.Dataframe.rename()函数主要是用来修改Dataframe数据的行名和列名. 主要用到的参 ...
- pandas学习笔记之DateFrame
pandas学习笔记之DateFrame 文章目录 pandas学习笔记之DateFrame 1.DateFrame的创建 1)认识DataFrame对象 2)由二维列表创建(默认index和colu ...
- [Pandas 学习笔记] - No.1 pandas学习笔记
pandas学习笔记 pandas是基于numpy开发出的数据分析包,用于高效地操作大型数据集.pandas的数据结构有三种 分别为 series,dataframe和panel,对应一维,二维,三维 ...
- pandas学习笔记之Series
pandas学习笔记之Series 文章目录 pandas学习笔记之Series pandas中Series的创建 1)用python中的列表list创建: 2)用numpy数组创建 3)用pytho ...
- pandas使用笔记大全
DataFrame使用笔记 dates=pd.date_range('20160728',periods=6) #创建固定频度的时间序列 df=pd.DataFrame(np.random.randn ...
- 丞相弩的pandas基础笔记
pandas笔记 pandas数据分析 pandas是Python的一个数据处理的模块,是一个表格处理器.用Python做数据分析,pandas是必不可少的. 首先必须要导入这个pandas库: im ...
最新文章
- 微信小程序一键创建js,json,wxml,wxss
- 深入剖析nginx第141页
- python:数据操作小技巧
- Oracle脑裂 驱逐,了解Oracle RAC Brain Split Resolution集群脑裂协议
- 跟我一起学.NetCore之WebApi接口裸奔有风险(Jwt)
- django14:CBV加入装饰器
- pta7-3 统计不及格人数_应用统计专硕院校专业难度分析【青岛大学、苏大、西安交通大学】...
- Clojure 学习入门(13)- binding
- Visual Studio 2008 Designer.cs不能更新/自动添加控件声明的解决办法
- 使用Vue对接网易云音乐
- bessel 函数乘以指数函数的积分
- PWM呼吸灯(小白版)
- vmware workstation 使用桥接网络 上网
- JavaEE全套资料+视频+工具
- calcite mysql_jsqlparser和calcite和druid功能对比
- 微信公众号开启服务器配置流程及注意事项
- 【分布式技术专题】「OSS中间件系列」从0到1的介绍一下开源对象存储MinIO技术架构
- AcWing 135. 最大子序和(单调队列优化 dp)
- 实时最新中国省市区县geoJSON格式地图行政边界数据Echarts地图数据(可精确到街道级)
- 测试、测试开发面试准备和复习