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中也可进行层级计算,暂不深入研究

相关文章
|
1月前
|
存储 数据挖掘 数据处理
掌握Pandas核心数据结构:Series与DataFrame的四种创建方式
本文介绍了 Pandas 库中核心数据结构 Series 和 DataFrame 的四种创建方法,包括从列表、字典、标量和 NumPy 数组创建 Series,以及从字典、列表的列表、NumPy 数组和 Series 字典创建 DataFrame,通过示例详细说明了每种创建方式的具体应用。
166 67
|
4月前
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
307 0
|
19天前
|
存储 数据挖掘 索引
Pandas数据结构:Series与DataFrame
本文介绍了 Python 的 Pandas 库中两种主要数据结构 `Series` 和 ``DataFrame`,从基础概念入手,详细讲解了它们的创建、常见问题及解决方案,包括数据缺失处理、数据类型转换、重复数据删除、数据筛选、排序、聚合和合并等操作。同时,还提供了常见报错及解决方法,帮助读者更好地理解和使用 Pandas 进行数据分析。
57 10
|
1月前
|
存储 数据挖掘 索引
Pandas Series 和 DataFrame 常用属性详解及实例
Pandas 是 Python 数据分析的重要工具,其核心数据结构 Series 和 DataFrame 广泛应用。本文详细介绍了这两种结构的常用属性,如 `index`、`values`、`dtype` 等,并通过具体示例帮助读者更好地理解和使用这些属性,提升数据分析效率。
51 4
|
2月前
|
SQL 数据采集 数据可视化
Pandas 数据结构 - DataFrame
10月更文挑战第26天
57 2
Pandas 数据结构 - DataFrame
|
2月前
|
索引 Python
Pandas 数据结构 - Series
10月更文挑战第26天
44 2
Pandas 数据结构 - Series
|
2月前
|
数据采集 数据可视化 数据挖掘
Pandas 简介
10月更文挑战第25天
51 6
|
5月前
|
索引 Python
Pandas学习笔记之Dataframe
Pandas学习笔记之Dataframe
|
5月前
|
索引 Python
Pandas学习笔记之Series
Pandas学习笔记之Series
|
5月前
|
数据挖掘 大数据 数据处理
数据分析师的秘密武器:精通Pandas DataFrame合并与连接技巧
【8月更文挑战第22天】在数据分析中,Pandas库的DataFrame提供高效的数据合并与连接功能。本文通过实例展示如何按员工ID合并基本信息与薪资信息,并介绍如何基于多列(如员工ID与部门ID)进行更复杂的连接操作。通过调整`merge`函数的`how`参数(如'inner'、'outer'等),可实现不同类型的连接。此外,还介绍了使用`join`方法根据索引快速连接数据,这对于处理大数据集尤其有用。掌握这些技巧能显著提升数据分析的能力。
89 1