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

 更新时间:2019年06月25日 14:25:26   作者:yungeisme  
这篇文章主要介绍了Pandas之DataFrame对象的列和索引之间的转化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

约定:

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计算序列相似度的算法实例

    Python计算序列相似度的算法实例

    这篇文章主要介绍了Python计算序列相似度的算法实例,求两个序列转换的最少交换步骤和最小交换距离,本文提供了部分实现代码与解决思路,对开发非常有帮助,需要的朋友可以参考下
    2023-07-07
  • Python开发的单词频率统计工具wordsworth使用方法

    Python开发的单词频率统计工具wordsworth使用方法

    wordsworth是字母,单词和n元组频率分析,用来分析文件中的单词出现频率的工具。
    2014-06-06
  • 对numpy中轴与维度的理解

    对numpy中轴与维度的理解

    下面小编就为大家分享一篇对numpy中轴与维度的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python编程异步爬虫之aiohttp模块的基本用法

    Python编程异步爬虫之aiohttp模块的基本用法

    aiohttp 模块是一个基于 asyncio 的 HTTP 客户端和服务器框架,可以用于异步处理 HTTP 请求和响应,这篇文章给大家介绍Python编程异步爬虫之aiohttp模块的基本用法,感兴趣的朋友一起看看吧
    2024-03-03
  • Python tkinter库绘制春联和福字的示例详解

    Python tkinter库绘制春联和福字的示例详解

    马上要过年了,这篇文章将用到Python中的tkinter库来写一副春联&福字送给大家。文中的实现方法讲解详细,感兴趣的小伙伴可以试一试
    2022-01-01
  • python 从list中随机取值的方法

    python 从list中随机取值的方法

    这篇文章主要介绍了python 从list中随机取值的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python中函数带括号和不带括号的区别及说明

    Python中函数带括号和不带括号的区别及说明

    这篇文章主要介绍了Python中函数带括号和不带括号的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 解决Django 在ForeignKey中出现 non-nullable field错误的问题

    解决Django 在ForeignKey中出现 non-nullable field错误的问题

    今天小编就为大家分享一篇解决Django 在ForeignKey中出现 non-nullable field错误的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 使用PyTorch将数据从CPU移动到GPU的四个方法

    使用PyTorch将数据从CPU移动到GPU的四个方法

    这篇文章给大家介绍了在 PyTorch 中,将数据从 CPU 移动到 GPU 的几种方法,使用 .to() 方法,使用 .cuda() 方法,使用 torch.Tensor 构造函数和使用 torch.tensor 构造函数这四个方法,通过代码示例介绍非常详细,需要的朋友可以参考下
    2024-01-01
  • python实现WebSocket服务端过程解析

    python实现WebSocket服务端过程解析

    这篇文章主要介绍了python实现WebSocket服务端过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论