08 pandas DataFrame - 多层Series简介、相互转换

简介: === 层次索引 ===1、多层索引 index一组成绩:[89,99,56,44,33,56]前三个2017年的语数英成绩后三个2018的语数英成绩deep_Series = pd.

=== 层次索引 ===

1、多层索引 index

一组成绩:[89,99,56,44,33,56]
前三个2017年的语数英成绩
后三个2018的语数英成绩

deep_Series = pd.Series([89,99,56,44,33,56],index=[
        [2017,2017,2017,2018,2018,2018],
        list('CMECME')] )
print('\n--- deep_Series ---')
print(deep_Series)

print('\n--- 2017的数学成绩 ---')
print(deep_Series[2017,'M'])

print('\n--- 所有年份的语文恩成绩 ---')
print(deep_Series[:,'C'])
--- deep_Series ---
2017  C    89
      M    99
      E    56
2018  C    44
      M    33
      E    56
dtype: int64

--- 2017的数学成绩 ---
99

--- 所有年份的语文恩成绩 ---
2017    89
2018    44
dtype: int64

2、交换索引 swaplevel

print('\n--- 内外层索引交换 ---')
deep_Series = deep_Series.swaplevel()
deep_Series = deep_Series.sort_index()
print(deep_Series)

print('\n--- 所有年份的语文恩成绩 ---')
print(deep_Series['C'])
--- 内外层索引交换 ---
C  2017    89
   2018    44
E  2017    56
   2018    56
M  2017    99
   2018    33
dtype: int64

--- 所有年份的语文恩成绩 ---
2017    89
2018    44
dtype: int64

=== 相互转换 ===

1、 转换成 DataFrame

print('\n--- deep_Series ---')
print(deep_Series)

print('\n--- 转换成 DataFrame ---')
# unstack (默认level=1)
data_frame =  deep_Series.unstack(level = 0)
data_frame
img_8d6e2e13bfb7a2913cf679986cdfad64.png

2、 DataFrame 转回2层Serices

deep_Series = data_frame.stack()
deep_Series
2017  C    89
      E    56
      M    99
2018  C    44
      E    56
      M    33
dtype: int64

=== 多层Series算数统计 ===

1、 Series 计算2017年的总分(level=0 外层)

deep_Series.sum(level=0)
2017    244
2018    133
dtype: int64

2、 Series 计算各科成绩平均分(level=1 内层)

deep_Series.mean(level=1)
C    66.5
E    56.0
M    66.0
dtype: float64

此外DataFrame中也可进行层级计算,暂不深入研究

相关文章
|
2月前
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
197 0
|
20天前
|
SQL 数据采集 数据可视化
Pandas 数据结构 - DataFrame
10月更文挑战第26天
36 2
Pandas 数据结构 - DataFrame
|
20天前
|
索引 Python
Pandas 数据结构 - Series
10月更文挑战第26天
31 2
Pandas 数据结构 - Series
|
20天前
|
数据采集 数据可视化 数据挖掘
Pandas 简介
10月更文挑战第25天
28 6
|
3月前
|
索引 Python
Pandas学习笔记之Dataframe
Pandas学习笔记之Dataframe
|
3月前
|
索引 Python
Pandas学习笔记之Series
Pandas学习笔记之Series
|
3月前
|
数据挖掘 大数据 数据处理
数据分析师的秘密武器:精通Pandas DataFrame合并与连接技巧
【8月更文挑战第22天】在数据分析中,Pandas库的DataFrame提供高效的数据合并与连接功能。本文通过实例展示如何按员工ID合并基本信息与薪资信息,并介绍如何基于多列(如员工ID与部门ID)进行更复杂的连接操作。通过调整`merge`函数的`how`参数(如'inner'、'outer'等),可实现不同类型的连接。此外,还介绍了使用`join`方法根据索引快速连接数据,这对于处理大数据集尤其有用。掌握这些技巧能显著提升数据分析的能力。
68 1
|
3月前
【Pandas+Python】初始化一个全零的Dataframe
初始化一个100*3的0矩阵,变为Dataframe类型,并为每列赋值一个属性。
50 2
|
3月前
|
SQL 数据采集 JSON
Pandas 使用教程 Series、DataFrame
Pandas 使用教程 Series、DataFrame
68 0
|
3月前
|
Python
[pandas]从多个文件中构建dataframe
[pandas]从多个文件中构建dataframe
下一篇
无影云桌面