1. 程式人生 > >Pandas入門系列(八) -- 多級index

Pandas入門系列(八) -- 多級index

資料分析彙總學習

import numpy as np
import pandas as pd
from pandas import Series, DataFrame

# 多級Series
s1 = Series(np.random.randn(6), index=[['1','1','1','2','2','2'],['a','b','c','a','b','c']])
s1
Out[6]: 
1  a    2.901314
   b   -1.064644
   c   -0.896902
2  a    0.257884
   b    0.460760
   c   -1.207748
dtype: float64

# 下面一級也是Series
s1['1'] Out[7]: a 2.901314 b -1.064644 c -0.896902 dtype: float64 type(s1['1']) Out[8]: pandas.core.series.Series # 訪問 s1['1']['a'] Out[9]: 2.9013138285917472 # 獲取第二級Series s1[:,'a'] Out[10]: 1 2.901314 2 0.257884 dtype: float64 type(s1[:,'a']) Out[11]: pandas.core.series.Series # 與DataFrame轉換
df1 = s1.unstack() df1 Out[13]: a b c 1 2.901314 -1.064644 -0.896902 2 0.257884 0.460760 -1.207748 df2 = DataFrame([s1['1'],s1['2']]) # DataFrame也可以有多個Series組成 df2 Out[15]: a b c 0 2.901314 -1.064644 -0.896902 1 0.257884 0.460760 -1.207748 # DataFrame轉化為Series
n [16]: s2 = df1.unstack() s2 Out[17]: a 1 2.901314 2 0.257884 b 1 -1.064644 2 0.460760 c 1 -0.896902 2 -1.207748 dtype: float64 s2 = df1.T.unstack() s2 Out[19]: 1 a 2.901314 b -1.064644 c -0.896902 2 a 0.257884 b 0.460760 c -1.207748 dtype: float64 # 多級DataFrame df = DataFrame(np.arange(16).reshape(4,4)) df Out[21]: 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 # 多級index df = DataFrame(np.arange(16).reshape(4,4), index=[['a','a','b','b'],[1,2,1,2]]) df Out[23]: 0 1 2 3 a 1 0 1 2 3 2 4 5 6 7 b 1 8 9 10 11 2 12 13 14 15 # 多級colunms df = DataFrame(np.arange(16).reshape(4,4), index=[['a','a','b','b'],[1,2,1,2]], columns=[['BJ','BJ','SH','GZ'],[8,9,8,8]]) df Out[26]: BJ SH GZ 8 9 8 8 a 1 0 1 2 3 2 4 5 6 7 b 1 8 9 10 11 2 12 13 14 15 # 訪問 df['BJ'] Out[27]: 8 9 a 1 0 1 2 4 5 b 1 8 9 2 12 13 # 下一級還是DataFrame type(df['BJ']) Out[28]: pandas.core.frame.DataFrame df['BJ'][8] Out[29]: a 1 0 2 4 b 1 8 2 12 Name: 8, dtype: int32

相關推薦

Pandas入門系列) -- 多級index

資料分析彙總學習 import numpy as np import pandas as pd from pandas import Series, DataFrame # 多級Series s

Spring Boot入門系列)整合定時任務Task,一秒搞定定時任務

前面介紹了Spring Boot 中的整合Redis快取已經如何實現資料快取功能。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天主要講解Springboot整合定時任務。在SpringMvc中也會用

Docker入門與應用系列)Docker圖形界面管理之Shipyard

tps 數據庫 sock blog ocs body mage 代理 cell Shipyard基於Docker API實現的容器圖形管理系統,支持container、images、engine、cluster等功能,可滿足我們基本的容器部署需求可堆棧的Docker管理基於

ElasticSearch最佳入門實踐)shard & replica 機制梳理以及單 node 環境中建立 index

1、shard & replica 機制梳理 (1)index包含多個shard (2)每個shard都是一個最小工作單元,承載部分資料,lucene例項,完整的建立索引和處理請求的能力 (3

Spring Boot入門系列)整合mybatis,使用註解的方式實現增刪改查

之前介紹了Spring Boot 整合mybatis 使用xml配置的方式實現增刪改查,還介紹了自定義mapper 實現複雜多表關聯查詢。雖然目前 mybatis 使用xml 配置的方式 已經極大減輕了配置的複雜度,支援 generator 外掛 根據表結構自動生成實體類、配置檔案和dao層程式碼,減輕很大一

backbone入門系列1)基本組成部分

tle doctype syn 方法 1.3 服務器 行為 java code 一,首先backbone有以下組成部分:Events:事件驅動模塊 Model:數據模型 Collection:模型集合器 Router:路由器(對應hash值) History:開啟歷史管理

backbone入門系列4)集合

src 單獨 -1 lec 指定 one js代碼 bsp 技術 collection就是一堆model的集合,這個集合就是個舞臺,可以放一個人說單口相聲,也可以對口,也可以群口,,, 在前文,也就是入門系列3的基礎上,添加js代碼 var noteCollection=B

uml系列)——部署圖與構件圖

復雜 數據 net 打包 img 之前 說明 而且 bsp 之前說了uml的設計圖,現在說一下uml的最後兩種圖:構件圖、部署圖。這兩種圖之所以放在一起是因為它們都是軟件的實現圖。 構件圖 構件圖是描述一組構件之間

JavaScript最佳新手入門系列大話變量)

left col 新手入門 mcs com cti http href coo 533e讀2歡q侖誥4chttp://www.zcool.com.cn/collection/ZMTgzMjExMTI=.html 726n共4520xhttp://www.zcool.com.

Vue入門系列五)Vue實例詳解與生命周期

auto res context mode parent all from bool silent 【入門系列】 【本文轉自】   http://www.cnblogs.com/fly_dragon Vue的實例是Vue框架的入口,其實也就是前端的ViewM

SpringMVC系列)國際化

enc undle charset ucc tid utf pre 獲取值 -c 1.在pom.xml引入國際化需要的依賴 1 <!--國際化相關依賴 begin --> 2 <dependency> 3 <groupI

Scala入門系列六):面向對象之object

所有 name 應用 eight lac box dfa port clas object Person { private var eyeNum = 2 println("this Person object") def getEyeNum = eyeNum

Scala入門系列五):面向對象之類

important ica back ember const 就會 out 不用 spa // 定義類,包含field以及method class HelloWorld { private var name = "Leo" def sayHello() { prin

winform 寫App.config配置文件——IT輪子系列

項目 ble .exe private conf 遇到 配置信息 操作 src 前言 在winform項目中,常常需要讀app.config文件。如: 1 var version = System.Configuration.ConfigurationManager.Ap

Android OpenGL ES 入門系列一) --- 了解OpenGL ES的前世今生

target 初始化 vertex 單獨 http hang tex 變化 3d圖 轉載請註明出處 本文出自Hansion的博客 OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三維圖形 API 的子集,

Java入門系列七)Java 集合框架JCF, Java Collections Framework)

後者 try 其他 使用 元素 下一個 erl work st2 Java 集合框架圖 List、Set、Map可以看做集合的三大類 List List代表一種線性表的數據結構, List集合是有序集合,集合中的元素可以重復,訪問集合中的元素可以根據元素的索引

SQL系列)—— 分組group by)

出了 常用 sql select group 數量 通過 報錯 mysql 在很多場景時,需要對數據按照某條件進行分組統計其數量、平均值等等。有這種需求,SQL自然也有解決方式。 在SQL中通過group by子句對結果按某條件進行分組。語法: select count(c

環境的搭建--PWN入門系列一)

python2.7 com 是我 analysis strong nal 64bit amd ... 前言:作為一個偏前端開發的小白,入門信息安全也有兩年了。這兩年來一直被各種表哥血虐...... 最近暑假終於有時間專心水群了,這一個系列筆記是我這半個月來的pwn水題總結

Next.js踩坑入門系列七) —— 其他相關知識

Next.js踩坑入門系列 (一) Hello Next.js (二) 新增Antd && CSS (三) 目錄重構&&再談路由 (四) Next.js中期填坑 (五) 引入狀態管理Redux (六) 再次重構目錄 (七) 其他相關知識 獲