- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章在pandas多重索引multiIndex中选定指定索引的行方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在multiindex中选定指定索引的行 。
我们在用pandas类似groupby来使用多重index时,有时想要对多个level中的某个index对应的行进行操作,就需要在dataframe中找到该index对应的行,在单层index中我们可以方便的使用df.loc[index]来选择,在多重index中我们可以利用的类似的思路,然而其中也有一些小坑,记录如下.
1 index为有序的 。
1.1 创建测试数据 。
首先创建一个dataframe数据 。
1
2
3
|
df
=
pd.dataframe({
'class'
:[
'a'
,
'a'
,
'a'
,
'b'
,
'b'
,
'b'
,
'c'
,
'c'
],
'id'
:[
'a'
,
'b'
,
'c'
,
'a'
,
'b'
,
'c'
,
'a'
,
'b'
],
'value'
:[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
]})
|
df中内容如下图:
1.2 设置multiindex 。
通过set_index设为多重索引 。
1
|
df
=
df.set_index([
'class'
,
'id'
])
|
设置索引后效果:
1.3 切片筛选index 。
这里同样使用loc定位 。
1
|
df.loc[(
'a'
,
slice
(none)),:]
|
各参数的解释如下:
loc[(a,b),c]中第一个参数元组为索引内容,a为level0索引对应的内容,b为level1索引对应的内容 。
因为df是一个dataframe,所以要用c来指定列 。
这里‘a',指选择class中的a类 。
slice(none), 是python中的切片操作,这里用来选择任意的id,要注意!不能使用‘:'来指定任意index 。
‘:',用来指定dataframe任意的列 。
执行后的结果如下:
同样,如果想只保留id中的'a',则可以使用:
1
|
df.loc[(
slice
(none),
'a'
),:]
|
2 index无序 。
前面的例子对应的index列为数字或字母,是有序的,接下来我们看看index列为中文的情况.
2.1 创建无序测试数据 。
1
2
|
df2
=
pd.dataframe({
'课程'
:[
'语文'
,
'语文'
,
'数学'
,
'数学'
],
'得分'
:[
'最高'
,
'最低'
,
'最高'
,
'最低'
],
'分值'
:[
90
,
50
,
100
,
60
]})
df2
=
df2.set_index([
'课程'
,
'得分'
])
|
2.2 尝试切片选择index 。
1
|
df2.loc[(
'语文'
,
slice
(none)),:]
|
我们进行同样的操作,这时会发现提示出错:
unsortedindexerror: 'multiindex slicing requires the index to be fully lexsorted tuple len (2), lexsort depth (0)' 。
这是因为此时的index无法进行排序,在pandas文档中提到:furthermore if you try to index something that is not fully lexsorted, this can raise
我们可以通过 df2.index.is_lexsorted()来检查index是否有序, 。
1
2
|
in
[
1
]: df2.index.is_lexsorted()
out[
1
]: false
|
接下来,我们尝试对index进行排序。(排序时要在level里指定index名) 。
2.3 对index排序后切片选择index 。
1
|
df2
=
df2.sort_index(level
=
'课程'
)
|
1
|
df2.loc[(
'语文'
,
slice
(none)),:]
|
得到了我们想要的结果.
参考文献:pandas-docs-multiindex / advanced indexing 。
以上这篇在pandas多重索引multiindex中选定指定索引的行方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.
原文链接:https://blog.csdn.net/PIPIXIU/article/details/80232805 。
最后此篇关于在pandas多重索引multiIndex中选定指定索引的行方法的文章就讲到这里了,如果你想了解更多关于在pandas多重索引multiIndex中选定指定索引的行方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有十二个指向不同类别的链接。作为用户定位的一种方式,我想强调用户现在所在的类别( - 按钮)。 如何在 CSS 中实现这一点?我读到了 selected和 active ,但我还没能让它发挥作用。
我想通过单击按钮来获取选择框中的所有选项值(选定/未选定)。我怎样才能做到这一点? 最佳答案 我认为这是使用 Traversing/map 的好机会方法: var valuesArray = $("#
我正在尝试构建一个计算器,其中包含两个数字的两个 TextView 字段。我弄清楚了如何使用“应用程序内”数字键盘输入顶部数字 Operand 1 [textView] 的数字(我知道使用 EditT
我有一个简单的 jQuery $("span.value"),它选择包含文本的节点。此文本保证为整数。如何计算所有选定节点文本的总和,并将总和放入另一个节点? 3 4 5 ? 最佳答案 你可以这样做:
我从同一台服务器上托管的一堆数据库中备份了 mysql 数据库 db1。现在只需要备份具有访问 db1 权限的选定用户,以便我可以在 db1 还原之前将这些特权用户还原到我的新服务器。 最佳答案 St
我有一个 ListView 。我想添加一个动画,如果我选择一个列表项,它将被删除,并且该项目下方的其余项目将通过向上滑动动画向上移动。我已经通过获取其子位置使用线性布局完成了此操作,但我无法理解如何向
我不明白如何使用 Python 解析来自 Outlook 的突出显示(选定)邮件? 我有这个代码,但它适用于上一封邮件。 import win32com.client outlook = win32c
在 Xcode 6 中,您现在可以为选项卡项目的选中和未选中状态设置图标。请参阅下图中的说明: 和 唯一的问题是 SELECTED 状态的图像不显示。它只是显示空白。还有其他人有这个问题吗?请看下面的
在我的数据模型中,我有一个实体组和另一个GroupMember实体。一个Group包含一个或多个GroupMembers,但一个GroupMember只能同时位于一个Group中。到目前为止没有问题,
Android Button 在不同状态(正常、按下、选中、禁用)之间移动时会更改其可绘制背景。背景切换是即时的。是否可以使其平滑(动画)? 最佳答案 是的,这是可能的。您只需为按钮添加 addAni
我使用 emacs 来查看和编辑代码和其他文本文件。我想知道是否有一种方法可以向前或向后搜索当前缓冲区中标记的文本。类似于我在记事本或写字板中可以执行的操作。就像我可以在缓冲区中标记一些文本并执行 C
如何根据状态(选定、禁用)设置自定义选择类?如何根据状态选择(选定、禁用)在自定义下拉列表中设置类?照做了,但什么也没发生。请看我的例子................................
我正在尝试检查下拉菜单中是否存在特定文本值,如果存在,我想将其属性设置为selected。 我成功编写了一个 if 语句来检查文本是否存在: var country = usr.location; i
对于我的应用程序,我想让用户能够在回收器 View 中调整 TextView 项目的文本大小(通过捏缩放或 SeekBar)。默认值应为系统设置中选择的文本大小。最小值应为系统设置中的“非常小”,最大
我正在尝试创建一个 ListBoxItem 模板,该模板在选择时将带有圆角边框。我得到了这个 xaml,它在选择时不起作用:
我正在寻找检索焦点元素的 HTML。查看 webdriver.io 文档,方法 .getActiveElement() 应该可以解决这个问题。但是,我的 IDE (WebStorm) 显示错误,指出它
我创建了一个圆,在我的 onDraw() 方法中围绕圆绘制了一条字符串和一条线(箭头)。 public class Circle extends Activity { public class
对于生产应用程序,我们希望在 Windows 窗体应用程序的 ElementHost 内显示 DatePicker,但我们遇到了 SelectedDate 和 CurrentDate 不可读的问题,因
好的,我在此处和 Google 上的许多网站上搜索了此问题的结果,但找不到针对我的问题的确切解决方案。 我有一个 sql 提取姓名和办公室。所以事情是这样的: $sql = "SELECT m
选中单元格时如何改变灰色? 最佳答案 当用户点击选中的行 (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSInd
我是一名优秀的程序员,十分优秀!