あなたが最初columnB続いcolumnAによってソートしたいので、あなただけのsort_values
を使用してこれを行うことができます。
# using jezrael's example
In [11]: data.sort_values(["columnA", "columnB"])
Out[11]:
columnA columnB columnC
4 1 2 8
0 1 7 7
5 2 4 0
1 2 5 8
3 3 1 1
2 3 6 9
In [12]: data.sort_values(["columnA", "columnB"], ascending=[True, False])
Out[12]:
columnA columnB columnC
0 1 7 7
4 1 2 8
1 2 5 8
5 2 4 0
2 3 6 9
3 3 1 1
注:sort
はgroupbyの(ブール値)属性です。そのため、cにすることはできませんalled:
In [21]: data.groupby("columnA").sort
Out[21]: True
In [22]: data.groupby("columnA", sort=False).sort
Out[22]: False
In [23]: True()
TypeError: 'bool' object is not callable
あなたは、これは次の例で、内部で何を見ることができます。
In [31]: df = pd.DataFrame([["b", 1], ["a", 2]], columns=["A", "B"])
In [32]: df.groupby("A").sum()
Out[32]:
B
A
a 2
b 1
In [33]: df.groupby("A", sort=False).sum()
Out[33]:
B
A
b 1
a 2
注:この動作/順序は保証されません、それだけでパンダが外に出ないことを意味しますグループキーを注文する方法...例えば一部のインデックスタイプでは、ソートされることがあります:
In [34]: df.groupby("B", sort=False).sum()
Out[34]:
A
B
1 b
2 a