约定:

import pandas as pd

DataFrame对象的列和索引之间的转化

我们常常需要将DataFrame对象中的某列或某几列作为索引,或者将索引转化为对象的列。pandas提供了set_index()/reset_index() 来供我们使用。

一、列转化为索引

df1=pd.DataFrame({'X':range(5),'Y':range(5),'S':list("aaabb"),'Z':[1,1,2,2,2]})

df1

代码结果:

S

X

Y

Z

0

a

0

0

1

1

a

1

1

1

2

a

2

2

2

3

b

3

3

2

4

b

4

4

2

指定列为索引

df1.set_index('S')

代码结果:

X

Y

Z

S

a

0

0

1

a

1

1

1

a

2

2

2

b

3

3

2

b

4

4

2

指定多个列作为多级索引

df1.set_index(['S','Z'])

代码结果:

X

Y

S

Z

a

1

0

0

1

1

1

2

2

2

b

2

3

3

2

4

4

同时保留作为索引的列

df1.set_index(['S','Z'],drop=False)

代码结果:

S

X

Y

Z

S

Z

a

1

a

0

0

1

1

a

1

1

1

2

a

2

2

2

b

2

b

3

3

2

2

b

4

4

2

二、索引转化为列

df2=df1.set_index(['S','Z'])

df2

代码结果:

X

Y

S

Z

a

1

0

0

1

1

1

2

2

2

b

2

3

3

2

4

4

将单个索引作为DataFrame对象的列

df2.reset_index('Z')

代码结果:

Z

X

Y

S

a

1

0

0

a

1

1

1

a

2

2

2

b

2

3

3

b

2

4

4

将多级索引作为列

df2.reset_index()

代码结果:

S

Z

X

Y

0

a

1

0

0

1

a

1

1

1

2

a

2

2

2

3

b

2

3

3

4

b

2

4

4

直接删除对指定索引

df2.reset_index('Z',drop=True)

代码结果:

X

Y

S

a

0

0

a

1

1

a

2

2

b

3

3

b

4

4

直接对原DataFrame对象修改

df2.reset_index(inplace=True)

df2

代码结果:

S

Z

X

Y

0

a

1

0

0

1

a

1

1

1

2

a

2

2

2

3

b

2

3

3

4

b

2

4

4

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

python dataframe索引转成列_Pandas之DataFrame对象的列和索引之间的转化相关推荐

  1. python修改csv文件字段顺序_Pandas中DataFrame交换列顺序的方法实现

    一.获取DataFrame列标签 import pandas as pd file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_po ...

  2. python dataframe取一列_pandas取dataframe特定行/列

    1.按列取.按索引/行取.按特定行列取 import numpy as np from pandas import DataFrame import pandas as pd df=DataFrame ...

  3. python将列表转换成集合_python 将DataFrame转换为List

    幕布斯5086720 import pandas as pd 2 import numpy as np 3  4 #创建列表 5 a1=[1,2,3] 6  7 #arange函数:指定初始值.终值. ...

  4. python dataframe索引转成列_如何将 Pandas DataFrame 的索引转换为列

    我们将介绍将 Pandas DataFrame 的索引转换为列的各种方法,例如 df.index,带有 rename_axis 的 reset_index 来重命名索引,以及 set_index. 我 ...

  5. python列表转集合_Pandas把dataframe或series转换成list的方法

    把dataframe转换为list 输入多维dataframe: ? 1 df= pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9],'b':[3,5,6,2,4,6, ...

  6. python dataframe取某行某列_pandas dataframe.apply() 实现对某一行/列进行处理获得一个新行/新列...

    重点: dataframe.apply(function,axis)对一行或一列做出一些操作(axis=1则为对某一列进行操作,此时,apply函数每次将dataframe的一行传给function, ...

  7. python pandas dataframe函数_Pandas的DataFrame列操作

    13. Pandas的DataFrame列操作 本章主要研究一下DataFrame数据结构如何修改.增删等操作. 13.1 rename修改列名字 对一个dataframe的数据使用rename函数后 ...

  8. python数据框元素的性质_Pandas基础:文件读取与写入、Series和Dataframe、常用基本函数、排序...

    import pandas as pd import numpy as np 查看Pandas版本 pd.__version__ 一.文件读取与写入 1.读取 (a)csv格式 df = pd.rea ...

  9. python dataframe合并相同行_pandas之DataFrame合并merge

    一.merge merge操作实现两个DataFrame之间的合并,类似于sql两个表之间的关联查询.merge的使用方法及参数解释如下: pd.merge(left, right, on=None, ...

最新文章

  1. 微信出现“已停止访问该网页”或“关于潜在的违法或违规内容”怎么办?如何获取被屏蔽的网页的网址?...
  2. 第二章 使用unittest模块扩展功能测试
  3. C语言:以scanf的使用为例,对缓冲区的理解
  4. python数据结构与算法分析_数据结构和算法分析
  5. 【Java】深入理解Java随机数
  6. 城市大轰炸++(洛谷P1847题题解,Java语言描述)
  7. 计算机网络(9)-----TCP可靠传输的实现
  8. 扩展中国剩余定理 exCRT 学习笔记
  9. php安装make报错信息及解决方法
  10. 基于matlab的小波去噪方法研究,基于matlab的小波去噪分析毕业论文.doc
  11. 如何使用AxureShare+Axure RP 8.0创建团队项目,实现团队协同
  12. OpenSSL制作自签名V3证书
  13. React的调和过程(Reconcilliation)
  14. (附源码)Python学生兼职平台系统 毕业设计 160938
  15. 笔记本电脑无法调整亮度
  16. 计算机组成原理带符号的阵列乘法器,计算机组成原理阵列乘法器课程设计报告精选.doc...
  17. 亚马逊SP-API申请,亚马逊SP-API注册,亚马逊开发者申请,PII申请怎么做?SP-API是什么?
  18. 软件工程师薪酬最高的25家公司!!!
  19. 【K8S】k8s pv,pvc无法删除问题
  20. 第六、七章 嵌入式Linux开发

热门文章

  1. 分布式系统中的幂等设计
  2. 未将更新安装在此计算机上,Win7用户注意!7月前没安装这个更新包,将不能再使用更新功能!...
  3. js html模板生成图片不显示,网页中图片不显示问题
  4. 实分析royden第四版答案_高价实木变板木掺了“假”的实木家具!搞懂这些名词,买家具不上当...
  5. php继承exten,es6,extends_react中通过extend继承,父组件为什么能访问子组件的属性,es6,extends,react.js - phpStudy...
  6. iOS开发UI篇—核心动画(UIView封装动画)
  7. 时间选择插件ClockPicker
  8. 分区表(Partitioned object)
  9. 国内专业移动广告聚合平台,KeyMob,手机广告效果最棒
  10. 关于2d物理引擎box2d与ape的评论