Pandas的学习(6.DataFrame和Series创建多层行索引以及多层列索引)
生活随笔
收集整理的這篇文章主要介紹了
Pandas的学习(6.DataFrame和Series创建多层行索引以及多层列索引)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.創(chuàng)建多層行索引
(1) 隱式構(gòu)造? ?
? ? ?最常見的方法是給DataFrame構(gòu)造函數(shù)的index參數(shù)傳遞兩個或更多的數(shù)組
? ? ?-- Series也可以創(chuàng)建多層索引
import numpy as np import matplotlib.pyplot as plt import pandas as pd from pandas import Series, DataFrame'''使用Series創(chuàng)建多層索引(隱式)''' s = Series([80, 90, 82, 92], index=[['a', 'a', 'b', 'b'], ['期中', '期末', '期中', '期末']]) print(s) """ a 期中 80期末 90 b 期中 82期末 92 dtype: int64 """'''使用DataFrame創(chuàng)建多層索引(隱式)''' df = DataFrame(np.random.randint(0, 150, size=(6, 3)),columns=['語文', '數(shù)學(xué)', 'python'],index=[['zsan', 'zsan', 'lisi', 'lisi', 'wwu', 'wwu'],['mid', 'end', 'mid', 'end','mid', 'end']]) print(df) """語文 數(shù)學(xué) python zsan mid 77 60 29end 113 121 38 lisi mid 46 14 33end 115 127 41 wwu mid 35 96 77end 139 41 134 """?(2) 顯示構(gòu)造
? ? ? ? ---??使用數(shù)組 pd.MultiIndex.from_arrays
? ? ? ? ---?使用tuple pd.MultiIndex.from_tuples
? ? ? ? ---?使用product pd.MultiIndex.from_product
"""顯示構(gòu)造."""'''1.使用數(shù)組 pd.MultiIndex.from_arrays''' df1 = DataFrame(np.random.randint(0, 150, size=(6, 3)),columns=['Java', 'HTML5', 'Python'],index=pd.MultiIndex.from_arrays([['張三', '張三', '李四', '李四', '王五', '王五'],['期中', '期末', '期中', '期末', '期中', '期末']])) print(df1) '''2.使用tuple pd.MultiIndex.from_tuples''' df2 = DataFrame(np.random.randint(0, 150, size=(6, 3)),columns=['Java', 'HTML5', 'Python'],index=pd.MultiIndex.from_tuples([('張三', '期中'), ('張三', '期末'), ('李四', '期中'), ('李四', '期末'), ('王五', '期中'),('王五', '期末')])) print(df2) '''3.使用product pd.MultiIndex.from_product''' '''最簡單,推薦使用''' df3 = DataFrame(np.random.randint(0, 150, size=(6, 3)),columns=['Java', 'HTML5', 'Python'],index=pd.MultiIndex.from_product([['張三', '李四', '王五'], ['期中', '期末']])) print(df3) """ # 三種不同的顯示創(chuàng)建方式,同樣的結(jié)果Java HTML5 Python 張三 期中 133 79 133期末 31 50 104 李四 期中 63 96 45期末 145 14 103 王五 期中 145 39 53期末 41 98 46 """?
2.創(chuàng)建多層列索引
? ? 除了行索引index,列索引columns也能用同樣的方法創(chuàng)建多層索引
"""多層列索引""" df4 = DataFrame(np.random.randint(0, 150, size=(3, 6)),columns=pd.MultiIndex.from_product([['Java', 'HTML', 'Python'], ['期中', '期末']]),index=['張三', '李四', '小張']) print(df4) """Java HTML Python 期中 期末 期中 期末 期中 期末 張三 37 132 77 18 127 76 李四 8 47 65 59 68 63 小張 16 65 138 28 56 135 """? 其他的方法都是類似的
總結(jié)
以上是生活随笔為你收集整理的Pandas的学习(6.DataFrame和Series创建多层行索引以及多层列索引)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pandas的学习(5.pandas中处
- 下一篇: 机器学习(1.机器学习概述、数据集的组成