Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 组排序中的多索引序列_Pandas - Fatal编程技术网

Pandas 组排序中的多索引序列

Pandas 组排序中的多索引序列,pandas,Pandas,我有一个多索引系列 Low A 0.888889 B 0.361111 Open B 0.000000 C 1.000000 是否有方法在每个组内对上述内容进行排序(低、开放) 如果我调用.sort\u values()它会对整个系列进行排序,这不是我想要的。我想保留它的分组 我还试着在每个组上循环并排序和重新分配,但这是不正确的,因为值是按标签排序的(ABC)不是,所以完全混淆了 谢

我有一个多索引系列

Low    A          0.888889
       B          0.361111
Open   B          0.000000
       C          1.000000
是否有方法在每个组内对上述内容进行排序(低、开放)

如果我调用
.sort\u values()
它会对整个系列进行排序,这不是我想要的。我想保留它的分组

我还试着在每个组上循环并排序和重新分配,但这是不正确的,因为值是按标签排序的(ABC)不是,所以完全混淆了


谢谢

如果没有级别名称,请先使用,然后使用,对于正确的排序顺序,请使用索引:

s = (s.rename_axis(['id1','id2'])
      .groupby('id1', group_keys=False, sort=False)
      .apply(pd.Series.sort_values)))
print (s)
id1   id2
Low   B      0.361111
      A      0.888889
Open  B      0.000000
      C      1.000000
Name: val, dtype: float64

您能否共享生成数据的代码?只有2个值
Low
Open
?创建数据的原始函数大约有200行长。上面的代码就像一个小片段。我记得有一个方法调用输出代码,所以当它运行时,它会产生相同的数据帧…但是忘记了它被调用了什么。向他人发送代码的好方法。。。你们知道吗?看起来你们使用的逻辑和我的一样:-)不错~@BEN_-YO-是的,这很有趣
transform
不改变索引。有点有线,看起来transform在改变数组,而不是熊猫object@BEN_YO-是的,这很有道理