Python索引index常用的8种操作

原始数据为 csv 文件。

data
'''
date,temperature,humidity
07/01/21,95,50
07/02/21,94,55
07/03/21,94,56
'''

一、读取时指定索引列

默认索引从0开始,可通过 index_col设置索引列。

import os
os.chdir(r'C:\Users\111\Desktop')

import pandas as pd
import numpy as np

data = pd.read_csv('data.csv',
                   parse_dates=['date'],
                   index_col='date')

data2 = pd.read_csv('data.csv',
                   parse_dates=['date'])

二、使用现有 DataFrame 设置索引

通过 set_index手动设置索引。

data2.set_index('date', inplace=True, drop=False)
  • set_index 方法重新创建对象
  • inplace=True 可就地修改原对象
  • drop=False 保留被设置索引的列

三、操作之后重设索引 reset_index

数据切片之后索引顺序混乱,可通过 reset_index重新生成连续索引。

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
data3 = pd.DataFrame(np.random.rand(5, 3), columns=list('ABC'))
'''
           A         B         C team
x1  0.490674  0.441180  0.061497    x
x2  0.623639  0.467407  0.579566    x
y1  0.442860  0.660843  0.688015    y
y2  0.671548  0.833954  0.365685    y
y3  0.755017  0.367738  0.801497    y
'''
data4 = data3[data3.index % 2 == 0]
data4.reset_index(drop=True, inplace=True)
  • drop=True 不保留原索引
  • inplace=True 就地重置原对象

四、分组 groupby 之后索引设置为列

分组之后分组列默认作为索引index,可重置为列。


data3['team'] = ['x','x','y','y','y']

data3.groupby('team').mean().reset_index()

data3.groupby('team', as_index=False).mean()

五、排序后重置索引

sort_values 排序之后索引顺序混乱。

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
data3.sort_values(by='A')
data3.sort_values(by='A', ignore_index=True)

六、删除重复后重置索引

同排序后重设索引。

data3.drop_duplicates('team', ignore_index=True)

七、索引直接赋值

可通过 index 直接赋值已有 dataframe 。

better_index = ['x1','x2','y1','y2','y3']
data3.index = better_index

八、写入文件 to_csv 时忽略索引

data3.to_csv('data3.csv', index=False)

Original: https://blog.csdn.net/qdPython/article/details/120867917
Author: Python热爱者
Title: Python索引index常用的8种操作

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/751797/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • [Spring]一文明白IOC容器和思想

    ✅作者简介:大家好,我是Philosophy7?让我们一起共同进步吧!🏆📃个人主页:Philosophy7的csdn博客🔥系列专栏: 数据结构与算法👑哲学语录: 承认自己的无知,乃…

    Python 2023年11月8日
    042
  • 【Python百日刷题计划】Day7~牛客题库高效练习

    ✅ 本次练习的题目大部分来自牛客网的Python基础题库,想要学习Python和巩固基础的可以现在打开牛客来一起学习吧。📔编程练习直达链接👉由此进入免费的刷题练习网站 编程刷题是必…

    Python 2023年8月2日
    055
  • python fill_将数据填充到dataframe python(fill data to dataframe python)

    Here’s one way using set_index and reindex In [4971]: df.set_index(‘hr’)…

    Python 2023年8月8日
    039
  • pygame教程2

    上期说了一些,但当你学完这些后,你就可以轻松编写一个游戏! pygame.display.set_caption() 很多游戏都有窗口的名字,pygame默认窗口是pygame w…

    Python 2023年9月20日
    053
  • python中5个带key的内置函数

    max() 方法返回给定参数的最大值,参数可以为序列。 lis = [1,2,3,-4] print(max(lis)) #返回lis列表中的最大值 ”’结果: 3 ”’ pr…

    Python 2023年11月2日
    045
  • FRM 模型流程记录

    J.w:记录学习过程 定义 最近一次消费时间(Recency):取数的时候一般取最近一次消费记录到当前时间的间隔;一定时间内消费频率(Frequency),取数时,一般是取一个时间…

    Python 2023年8月21日
    065
  • Windows安装mysql详细步骤(通俗易懂,简单上手)

    文章目录 【确认本地是否安装mysql】 【下载mysql安装包】 【添加配置文件并安装mysql】 【修改mysql密码】 【配置环境变量】 【总结】 前期在windows电脑尝…

    Python 2023年10月26日
    055
  • springboot项目打成war包部署

    您好!关于您的问题,具体实现步骤如下: 1. 在 pom.xml 文件中进行配置,将打 方式修改为 ,并设置打 后的文件名,具体代码如下: </p> <p>…

    Python 2023年11月7日
    029
  • 【python的numpy数组(c++接口PyArrayObject*) 和c++的Mat的相互转换】

    python的numpy数组(c++接口PyArrayObject*) 和c++的Mat的相互转换 背景 想要尝试qt+onnx跑个双目的模型,结果在onnx的c++版本上跑出现了…

    Python 2023年8月24日
    048
  • 在Python中使用LSTM和PyTorch进行时间序列预测

    顾名思义,时间序列数据是一种随时间变化的数据类型。例如,24小时内的温度,一个月内各种产品的价格,一年中特定公司的股票价格。 去年,我们为一位客户进行了短暂的咨询工作,他正在构建一…

    Python 2023年9月29日
    040
  • Pytest官方文档学习笔记

    目录 官网地址:Full pytest documentation — pytest documentation pytest测试发现的约定: pytest测试运行方式: pyte…

    Python 2023年9月10日
    055
  • Django笔记十六之aggregate聚合操作

    这一篇笔记介绍一下关于聚合的操作,aggregate。 常用的聚合操作比如有平均数,总数,最大值,最小值等等 用到的 model 如下 class Author(models.Mo…

    Python 2023年8月4日
    052
  • 运行和管理容器

    容器的创建和启动 在了解容器的各项操作之前,我们再来回顾一下之前我们所提及的容器状态流转。 在这幅图中,我们可以看到,Docker 容器的生命周期里分为五种状态,其分别代表着: C…

    Python 2023年6月3日
    063
  • 如何用python搭建神经网络,python画神经网络结构图

    1、怎样用python构建一个卷积神经网络模型 上周末利用python简单实现了一个卷积神经网络,只包含一个卷积层和一个maxpooling层,pooling层后面的多层神经网络采…

    Python 2023年8月26日
    096
  • f-strings: Python字符串处理的瑞士军刀

    Python的内置方法和标准库所支持的字符串格式化方法一共有以下4种: % 操作符 format 内置函数 f-string 语法 Template 标准库 方式一:% 操作符 其…

    Python 2023年10月30日
    032
  • 乌云镜像的使用

    乌云镜像 ” 谁用乌云换日星,谁用匕首换光明。” 学习使用乌云镜像。乌云镜像下载: https://github.com/hanc00l/wooyun_pu…

    Python 2023年8月13日
    0201
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球