我在pandas
df中有一个包含多索引列的数据集,我想按特定列中的值进行排序。我尝试使用sortindex和sortlevel,但无法获得所需的结果。我的数据集看起来像:
Group1 Group2
A B C A B C
1 1 0 3 2 5 7
2 5 6 9 1 0 0
3 7 0 2 0 3 5
我想按降序按组1中的C列对所有数据和索引进行排序,因此我的结果如下所示:
Group1 Group2
A B C A B C
2 5 6 9 1 0 0
1 1 0 3 2 5 7
3 7 0 2 0 3 5
是否可以对数据所在的结构进行这种排序,还是应该将Group1交换到索引端?
当按MultiIndex排序时,您需要在列表中包含描述该列的元组*:
In [11]: df.sort_values([('Group1', 'C')], ascending=False)
Out[11]:
Group1 Group2
A B C A B C
2 5 6 9 1 0 0
1 1 0 3 2 5 7
3 7 0 2 0 3 5
*, 以免混淆大熊猫以为您想先按Group1然后按C排序。
注意:最初使用,.sort
因为已弃用,然后在0.20中删除,改为.sort_values
。
如果我定义一个像这样的分层索引数据框: 内容如下所示: 我知道如何提取与给定列对应的数据。例如。对于列: 如何提取符合以下标准集的数据: , , , column , , 列 和 、、列、以及从开始的所有列 是偶数 (顺便说一句,我做了不止一次rtfm,但我真的觉得难以理解。)
问题内容: 我有以下pd.DataFrame: 它具有带有和层次结构级别的MultiIndex列。该标签从0到n,并为每个标签,有两个和列。 我想子选择此DataFrame的所有(或)列。 问题答案: 有一种方法可以与布尔索引一起使用,以获得预期的结果。
现在,我要检索一个值: Q1:在[3.3,6.6]范围内-预期返回值:[3.3,5.5,6.6]或[3.3,3.3,5.5,6.6](包括最后一个),如果没有,则为[3.3,5.5]或[3.3,3.3,5.5]。 Q2:在[2.0,4.0]范围内-预期返回值:[3.3]或[3.3,3.3] 对于任何其他多索引维度都是相同的,例如B值: Q3:在范围[111,500]中有重复,作为范围中的数据行数-
有两个问题看起来很相似,但它们不是同一个问题:这里和这里。它们都调用的方法,例如或,我知道这会返回一个。我要问的是如何将(class)对象本身转换为。我将在下面举例说明。 构建一个示例,如下所示。 上面的应该如下所示(显然有不同的数字)。 我想做的是按列名称和采取分组(按此顺序),这样我就可以得到一个由列名称和采取构建的多索引索引,如下所示。 我如何实现这一点?如果我做了,那么是一个实例。正确的做
本文向大家介绍在pandas多重索引multiIndex中选定指定索引的行方法,包括了在pandas多重索引multiIndex中选定指定索引的行方法的使用技巧和注意事项,需要的朋友参考一下 在multiIndex中选定指定索引的行 我们在用pandas类似groupby来使用多重index时,有时想要对多个level中的某个index对应的行进行操作,就需要在dataframe中找到该index
本文向大家介绍对Pandas MultiIndex(多重索引)详解,包括了对Pandas MultiIndex(多重索引)详解的使用技巧和注意事项,需要的朋友参考一下 创建多重索引 获得索引信息 get_level_values 基本索引 使用reindex对齐数据 数据准备 s序列加(0~-2)索引的值,因为s[:-2]没有最后两个的索引,所以为NaN.s[::2]意思是步长为1. 以上这篇对P