ツール:jupyter Python3
データの並べ替え
import numpy as np
import pandas as pd
パラメータの説明:
1。軸:軸インデックス(並べ替え方向)、0はインデックス(行)、1は列(列)を表します
2.昇順:昇順で並べ替えるかどうか。デフォルトはTrueで、昇順を意味します。降順(False)
3。by:ソートされた列を示します(値でソートされます)
その他のパラメーターについては、https://pandas.pydata.org/docs/user_guide/dsintro.html#dataframeを参照してください。
DataFrameの行と列の並べ替え
1. DataFrameオブジェクト、5行3列、ランダム整数、範囲0〜9、行インデックスは3,4,6,8,5で、行インデックスの降順で配置されます
df1 = pd.DataFrame(np.random.randint(0,10,(5,3)),index=[3,4,6,8,5])
df1
|
0 |
1 |
2 |
3 |
5 |
5 |
9 |
4 |
8 |
4 |
1 |
6 |
4 |
8 |
6 |
8 |
8 |
4 |
0 |
5 |
0 |
3 |
8 |
df1.sort_index(axis=0,ascending=False)
|
0 |
1 |
2 |
3 |
5 |
5 |
9 |
4 |
8 |
4 |
1 |
5 |
0 |
3 |
8 |
6 |
4 |
8 |
6 |
8 |
8 |
4 |
0 |
2. DataFrameオブジェクト、5行5列、ランダム整数、範囲0〜9、列インデックスは3、1、7、9、6で、列インデックスの降順で配置されます
df2 = pd.DataFrame(np.random.randint(0,10,(5,5)),columns=[3,1,7,9,6])
df2
|
3 |
1 |
7 |
9 |
6 |
0 |
2 |
0 |
1 |
1 |
8 |
1 |
8 |
6 |
5 |
8 |
0 |
2 |
5 |
6 |
1 |
9 |
9 |
3 |
3 |
3 |
2 |
9 |
4 |
4 |
9 |
1 |
6 |
0 |
4 |
df2.sort_index(axis=1,ascending=False)
|
1 |
3 |
6 |
7 |
9 |
0 |
0 |
2 |
8 |
1 |
1 |
1 |
6 |
8 |
0 |
5 |
8 |
2 |
6 |
5 |
9 |
1 |
9 |
3 |
3 |
3 |
4 |
2 |
9 |
4 |
1 |
9 |
4 |
6 |
0 |
3. DataFrameオブジェクト、5行3列、ランダムな整数、範囲0〜9、2番目の列の値に従って降順でソート
df3 = pd.DataFrame(np.random.randint(0,9,(5,3)))
df3
|
0 |
1 |
2 |
0 |
4 |
7 |
4 |
1 |
8 |
3 |
2 |
2 |
7 |
3 |
2 |
3 |
0 |
6 |
3 |
4 |
0 |
4 |
6 |
df3.sort_values(by=1,ascending=False)
|
0 |
1 |
2 |
0 |
4 |
7 |
4 |
3 |
0 |
6 |
3 |
4 |
0 |
4 |
6 |
1 |
8 |
3 |
2 |
2 |
7 |
3 |
2 |
4. DataFrameオブジェクト、5行3列、ランダムな整数、範囲0〜9、最初の行の値に従って昇順でソート
df4 = pd.DataFrame(np.random.randint(0,9,(5,3)))
df4
|
0 |
1 |
2 |
0 |
3 |
5 |
0 |
1 |
3 |
1 |
1 |
2 |
0 |
4 |
8 |
3 |
6 |
7 |
6 |
4 |
5 |
4 |
7 |
df4.sort_values(axis=1,by=0)
|
2 |
0 |
1 |
0 |
0 |
3 |
5 |
1 |
1 |
3 |
1 |
2 |
8 |
0 |
4 |
3 |
6 |
6 |
7 |
4 |
7 |
5 |
4 |
シリーズインデックス、値の並べ替え
Seriesオブジェクト、ランダム整数、範囲0〜10、長さ6
ser1 = pd.Series(np.random.randint(0,10,6))
ser1
0 5
1 5
2 0
3 3
4 8
5 2
dtype: int32
1.インデックスの昇順で並べ替えます
ser1.sort_index()
0 5
1 5
2 0
3 3
4 8
5 2
dtype: int32
2.値の降順で並べ替えます
ser1.sort_values(ascending=False)
4 8
1 5
0 5
3 3
5 2
2 0
dtype: int32
注:
1)昇順の等号の後に引用符を追加しないでください
。2)インデックスで並べ替える場合、インデックスの軸を参照することに注意してください。デフォルトは0(行のインデックスを表す)、1(行のインデックスを表す)です。列のインデックス)、ただし本質は対応する軸のままです。データは次のように並べ替えられます(詳細については上記の例を参照)。
インデックスで並べ替える場合、axis = 0の場合、行のインデックスに従って並べ替えることを意味します。これは本質的に値をソートしています。
3)オブジェクトがsort_valuesを呼び出して並べ替えると、デフォルトでは、欠落しているすべての値が最後に配置されます。(パラメーターはここで使用できます:na_position、その値は最初、最後です。名前が示すように、na_position = 'first'の場合、NaN値が最初に配置され、後者はその逆になります。)