原始数据为 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/
转载文章受原作者版权保护。转载请注明原作者出处!