pandas 的index用途
# pandas的索引index的用途
# 把数据存储于普通的column列也能用于数据查询,那使用index有什么好处?
# 1、更方便的数据查询
# 2、使用index可以获得性能提升
# 3、 自动的数据对其功能
# 4、更多强大的数据结构支持 import pandas as pd # 1 使用index查询数据
# drop==False,让索引列保持在columns
df.set_index("userId",inplace=True,drop = False)
df.head()
df.index
# 使用index的查询方法
df.loc[500].head(5)
# 使用column的condition查询方法
df.loc[df["userId"]==500].head() # 2 使用index会提升查询性能
# 如果index是惟一的,pandas会使用哈希表优化,查询性能为O(1)
# 如果index不是惟一的,但是有序,pandas会使用二分查找算法,查询性能为O(logN
# 如果index是完全随机的,那么每次查询都要扫描去哪表,查询性能为O(N) # 实验一:完全随机的顺序查询
# 将数据随机打散
from sklearn.utils import shuffle
df_shuffle = shuffle(df)#打散数据 # 索引是否是递增的
df_shuffle.index.is_mononic_increasing
# 判断索引是否是唯一的
df_shuffle.index.is_unique
# 计时,查询id ==500数据的性能
%timeit df_shuffle.loc[500] # 实验二:将index排序后的查询
df_sorted = df_shuffle.sort_index()
df_sorted.head()
#索引是否是递增的
df_sorted.index.is_monotonic_increasing
df_sorted.index.is_unique
%timeit df_sorted.loc[500] # 3 使用index能自动对齐数据(包括series & dataframe)
s1 = pd.Series([1,2,30],index= list("abc"))
s2 = pd.Series([2,3,4],index=list("bcd"))
s1 + s2 # 4 使用index更多更强大的数据结构支持
# 很多强大的数据结构
#
# Categoricallndex ,基于分类数的index,提升性能
# Multilndex , 多维索引,用于group by多维聚合结果等
# Datetimeindex ,时间类型索引,强大的日期和时间的方法支持
好好学习,天天向上
pandas 的index用途的更多相关文章
- Pandas的index属性
我们在统计数据的长度或者个数,不用统计去专门获取数值,而是用index这个数据获取即可,DataFrame的index直接就是最前面的索引号,如果要统计列的个数,使用DataFrame.colums获 ...
- pandas更换index,column名称
1)仅换掉index名称 df.index = list 2)调整index时,后面的项目也要跟着调整: df.reindex(list) 注意如果list中出现了df中没有的index,后面的项目会 ...
- Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)
DataFrame是Pandas中的一个表结构的数据结构,包括三部分信息,表头(列的名称),表的内容(二维矩阵),索引(每行一个唯一的标记). 一.DataFrame的创建 有多种方式可以创建Data ...
- Pandas日期数据处理:如何按日期筛选、显示及统计数据
前言 pandas有着强大的日期数据处理功能,本期我们来了解下pandas处理日期数据的一些基本功能,主要包括以下三个方面: 按日期筛选数据 按日期显示数据 按日期统计数据 运行环境为 windows ...
- pandas小记:pandas时间序列分析和处理Timeseries
http://blog.csdn.net/pipisorry/article/details/52209377 其它时间序列处理相关的包 [P4J 0.6: Periodic light curve ...
- pandas(一)
import numpy as py import pandas as pd Series对象 data= pd.Series([0.25,0.5,0.75,1.0]) 默认索引是数字 data= ...
- Python 数据处理库 pandas 入门教程
Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...
- Python pandas & numpy 笔记
记性不好,多记录些常用的东西,真·持续更新中::先列出一些常用的网址: 参考了的 莫烦python pandas DOC numpy DOC matplotlib 常用 习惯上我们如此导入: impo ...
- Pandas python
原文: https://github.com/catalystfrank/Python4DataScience.CH 和大熊猫们(Pandas)一起游戏吧! Pandas是Python的一个 ...
随机推荐
- ACM ICPC 2011-2012 Northeastern European Regional Contest(NEERC)G GCD Guessing Game
G: 要你去才Paul的年龄,Paul的年龄在1~n之间,你每猜一个Paul会告诉你,你猜的这个数和他年龄的gcd,问在最坏情况下最少要猜多少次. 题解: 什么是最坏情况,我们直到如果他的年龄是1的话 ...
- C#简单工厂模式和单列设计模式潜要解析
简单工厂设计模式,又叫做静态工厂方法(Static Factory Method)模式,就是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例. 简单工厂模式是工厂模式家族中最简单实用的模式.简单 ...
- Jmeter接口测试系列之保存断言结果到文件
在执行完接口测试用例后,我们需要将失败的用例结果统一保存到文件中,可以使用“断言结果”组件,并定制输出内容. 1.配置断言结果组件输出 (1.在文件名中配置需要保存的文件路径和文件名: (2.勾选仅日 ...
- vue入门demo:用户管理3
该入门demo是使用组件的方式实现,不涉及向后端发送请求 说明 把用户列表和添加用户拆分为两个组件,用户列表数据在父组件 获取用户列表:用户列表组件获取父组件的用户列表(父组件向子组件传值)1-1 1 ...
- 中国MOOC_面向对象程序设计——Java语言_第2周 对象交互_1有秒计时的数字时钟
第2周编程题 查看帮助 返回 第2周编程题,在课程所给的时钟程序的基础上修改 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系 ...
- 【MM系列】SAP 客户增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 客户增强 前言部分 大家 ...
- Tensorflow模型保存与载入
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #载入数据集 mnist = in ...
- 关于cors 跨域的一些问题
system.webServer节点写配置 <httpProtocol> <customHeaders> <add name="Access-Control-A ...
- <<用法
数据移位运算符,左移几位,如:x=i<<4;就是将i的值左移4位(放大2的4次方)后,赋给x,若i=2,则X=32.
- 第二次课程总结&学习总结
Java实验报告 班级 计算机科学与技术一班 学号 20188390 姓名 宋志豪 实验 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和 ...