pandas层次化索引
来源:互联网 发布:php社交网站论文 编辑:程序博客网 时间:2024/06/18 14:35
import numpy as np
import pandas as pd
from pandas import Series,DateFrame
dd=DataFrame(np.random.rand(4,2),columns=['data1','data2'],index=[['a','a','b','b'],['1','2','1','2']])
dd
from_tuples()
population=[1233443,3322324,134566,57568768,13324234,5467577]
index=[('California',2000),('California',2010),('NewYork',2000),('NewYork',2010),('Texas',2000),('Texas',2010)]
Mindex=pd.MultiIndex.from_tuples(index)
pop=DataFrame(population,index=Mindex)
pop
from_product()
MIndex=pd.MultiIndex.from_product([['california','NewYork','Texas'],[2000,2010]])
pop2=DataFrame(population,index=MIndex)
pop2
3. 多层索引对象的索引与切片操作
1)Series的操作
【重要】对于Series来说,直接中括号[]与使用.loc()完全一样,因此,推荐使用中括号索引和切片。
1))索引
pop['california']
2))切片
pop['california':'NewYork']
California 2000 33871648
2010 37253956
New York 2000 18976457
2010 19378102
dtype: int64
pop['california':,2000]
California 33871648
New York 18976457
Texas 20851820
dtype: int64
(2) 使用行索引需要用ix(),loc()等函数
pop.loc['California']
0
2000 1233443
2010 3322324
(3)使用pd.IndexSlice
【极其重要】最好的方法是:pd.IndexSlice+.loc()方法
行索引:
idx=pd.IndexSlice
pop.loc[idx['California'],idx[:]]
0
2000 1233443
2010 3322324
列索引:
idx=pd.indexSlice
pop.loc[idx[:2000],idx[:]]
4. 索引的堆(stack)
stack()
unstack() #【小技巧】使用unstack()的时候,level等于哪一个,哪一个就消失,出现在列里。
ddd=pd.DataFrame(np.random.rand(4,4),
columns=['0','1','2','3'],
index=['1','2','3','4'])
ddd
ddd.stack().unstack(level=0)
5. 聚合操作
【注意】
需要指定level
【小技巧】和unstack()相反,聚合的时候,level等于哪一个,哪一个就保留。
ddd1=ddd.stack()
ddd1
1 0 0.259452
1 0.410411
2 0.324261
3 0.506320
2 0 0.556484
1 0.674575
2 0.457297
3 0.145511
3 0 0.088966
1 0.402123
2 0.420650
3 0.481422
4 0 0.532261
1 0.812724
2 0.468918
3 0.170312
dtype: float64
ddd1.mean(level=0)
1 0.375111
2 0.458467
3 0.348290
4 0.496054
dtype: float64
- pandas层次化索引
- pandas层次化索引
- pandas层次化索引
- python:pandas(5),层次化索引
- 利用Pandas进行数据分析(3)——统计、处理缺失值、层次化索引
- pandas之汇总和计算描述统计到层次化索引
- 利用Python进行数据分析(11) pandas基础: 层次化索引
- python3.5——Pandas模块使用(下)——缺失值处理和层次索引
- pandas数据索引变换
- pandas索引对象
- Pandas MultiIndex(多重索引)
- Pandas 列索引操作
- pandas索引和选择
- pandas索引和选择
- Pandas-索引index
- Pandas索引方法介绍
- pandas通过ix 索引
- python pandas 序列索引
- IE6下margin双倍边距Bug的处理办法
- std::function的用法
- 软件编写规范(质量保证篇)
- 第10篇-JAVA 集合框架-JAVA 泛型
- UDP的编程
- pandas层次化索引
- javascript 对象与字符串相互转换函数 JSON.stringify 和 JSON.parse 的使用
- OpenCV3.1丢失Nonfree模块
- 九度oj-1068-球的半径和体积
- 论文笔记:Residual Attention Network for Image Classification
- mybatis和hibernate的区别(keep update)
- 【PostgreSQL-9.6.3】如何得到psql中命令的实际执行SQL
- 学生信息管理系统问题集锦(一)
- CSS中伪类及伪元素用法详解