Python 数据处理(二十八)—— MultiIndex 分层索引

Python016

Python 数据处理(二十八)—— MultiIndex 分层索引,第1张

本节将介绍使用多级索引(分层索引)和其他高级索引技巧

分层或多级次索引的存在是非常有意义的,因为它打开了复杂的数据分析和操作的大门,特别是处理高维数据

从本质上讲,它允许您在较低维度的数据结构包括 Series(1d) 和 DataFrame(2d) 中存储和操作任意维度的数据

在本节中,我们将展示分层索引的确切含义,以及如何结合前面介绍的所有 pandas 索引功能使用

在 0.24.0 版本之后, MultiIndex.label 重命名为 MultiIndex.codes 。 MultiIndex.set_labels 重命名为 MultiIndex.set_codes .

MultiIndex 对象是标准 Index 对象的分层模式,它通常在 pandas 对象中存储轴标签

你可以把 MultiIndex 看成一个元组数组,其中每个元组都是唯一的。 MultiIndex 有如下创建方式

当传递给 Index 构造函数一个元组列表时,它将尝试返回一个 MultiIndex 。

下面的示例演示了初始化 MultiIndex 的不同方法。

当你想要对两个可迭代对象中的每个元素进行两两配对时,可以使用 MultiIndex.from_product()

您也可以使用 MultiIndex.from_frame() 方法直接从 DataFrame 中构造一个 MultiIndex 。

为了方便起见,你可以直接将数组列表传递给 Series 或 DataFrame 的 index 参数来自动构造一个 MultiIndex

所有的 MultiIndex 构造函数都接受一个 name 参数,该参数存储索引级别的名称。如果没有设置,则值为 None

索引可以放在任何轴上,索引的层级也可以随你设置

这已经简化了较高层次的索引,使控制台的输出更容易看清。

注意 ,索引的显示方式可以通过 pandas.set_options() 中的 multi_sparse 选项来控制。

值得注意的是,将元组用作轴上的原子标签也是可以的

多索引之所以重要,是因为它允许您执行分组、选择和重塑操作,我们将在下面以及后续部分中描述这些操作

get_level_values() 方法能够返回特定级别的标签向量

分级索引的一个重要特性是,您可以通过标识数据中的子组的部分标签来选择数据

部分选择以一种完全类似于在常规 DataFrame 中选择列的方式,返回的结果会 "降低" 分层索引的级别

MultiIndex 会保留索引的所有已经定义了的级别,尽管它们实际上可能并没有被使用。

在对索引进行切片时,您可能会注意到这一点。例如

这样做的目的是为了避免重新计算级别,以提高切片的性能。如果你只想看某一级别,可以使用 get_level_values() 方法

可以使用 remove_unused_levels() 方法重构 MultiIndex

在具有 MultiIndex 的不同索引对象之间的操作会自动对齐

Series/DataFrames 的 reindex() 方法可以传入一个 MultiIndex ,甚至可以是一个元组列表或元组数组

for i in range(1,10):

   for j in range(1,10):

        sum = i * j

print '%d * %d = %d' % (i,j,sum)

最后一句缩进与第一个for一样,所以层次级别相同  python以缩进来分层次,所以当for循环执行完了之后才执行一个print

print格式的区别 %-3d 是输出的数字后面补空格 被到整个输出的字数长度为3,如果数字位数超过3就原样输出

python运行快捷键是哪个

发布时间:2020-11-17 11:00:46

来源:亿速云

阅读:90

作者:小新

这篇文章主要介绍了python运行快捷键是哪个,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

python运行快捷键是什么?

python运行快捷键是shift+F10。

相关快捷键:

最重要的快捷键

1. ctrl+shift+A:万能命令行

2. shift两次:查看资源文件

新建工程第一步操作

1. module设置把空包分层去掉,compact empty middle package

2. 设置当前的工程是utf-8,设置的Editor-->File Encodings-->全部改成utf-8,

注释

1. ctrl+/:单行注释

光标操作

1. ctrl+alt+enter:向上插入

2. shift+enter:向下插入

3. end:光标

操作代码

1. ctrl+d:复制粘贴一行

2. ctrl+y:删除一行

3. shift+F6:重命令

5. ctrl+O:复写代码

格式代码及其他功能

1. ctrl+alt+L:格式代码

2. 在代码中使用alt+insert:Generate,可以get/set等操作

3. ctrl+alt+T:添加try/catch

4. ctrl+alt+M:抽取代码

5. ctrl+alt+F:变量抽取全局变量(还需要设置前缀:Editor-->code style-->java-->code Genertion-->设置Field的前缘为m添加)

6. ctrl+alt+v:方法体内值抽取成变量

8. 保存成模板:ctrl+shift+L,这个是自定义的(save as live Template)

9. 选中内容:tab进行退格

10. shift+tab:反向退格

11. alt+shift+上下键:选中代码移动

12. ctrl+shift+上下键:可以移动当前方法体,如果移动一行代码只能在代码体内移动

13. ctrl+shift+U:代码大小写

15. ctrl+shift+enter:补全代码(一行尾添加分号,如果是if等添加括号)

进入代码

1. ctrl+鼠标:进入代码

2. ctrl+B:进入代码

5. ctrl+shift+12:最大化窗口

替换查找

1. ctrl+r:替换

2. ctrl+F:查找

3. ctrl+shift+F:全局查找

4. ctrl+shift+R:全局替换

5. ctrl+shift+i:快捷查看方法实现的内容

6. ctrl+p:查看参数

7. ctrl+Q:查看文档描述

8. shift+F1:查看api文档

8. ctrl+F12:查看类的方法

9. ctrl+H:查看类的继承关系

10. 查看变量的赋值情况:(shift+ctrl+a:输入analyze data flow to Here)

11. ctrl+alt+H:查看方法在那里被调用了

12. ctrl+{}:可以定位方法体的括号

13. F3:查看选中的内容

14. shift+F3:反向查看内容

15. ctrl+alt+B:查询那些类实现了光标所在的接口

16. ctrl+U:查看父类

17. ctrl+E:最近编辑的文件列表

18. ctrl+alt+home:查看布局与对应的类

19. ctrl+alt+H:查看当前方法在那里进行调用

运行编译

1. ctrl+F9:构建

2. shift+F10:运行

工程目录操作

1. 新建文件及工程:选中要创建目录使用alt+insert

2. ctrl+shift+a:输入show in explorer-->打开相应目录

3. ctrl+alt+s:打开软件设置

4. ctrl+alt+shift+s:打开module设置

5. alt+1:当前目录区

6. alt+7:当前类的方法列表查看

7. ctrl+tab:切换目录及视图

8. alt+shift+c:查看工程最近更改的地方

9. ctrl+J:livetemp模板查看

代码快捷操作

1. 没有操作完成操作可以先写todo进行,就可以在todo的窗口进行查看

2. F11定义书签

3. shift+F11:查看书签

4. ctrl+J:快捷调出模板

5. alt+点击断点:禁用断点

6. 调试状态下按下:alt查看变量能审查表达式的值

组合快捷键

1. F2:定位错误

2. alt+enter:修正错误

3. alt+鼠标:进入列编辑模式

4. ctrl+w:选中单词

5. 或其他组合操作

编辑的位置

ctrl+alt+左右键:这个是定位到编辑的位置