Pandas dataframe でインデックスによって列を選択する方法


多くの場合、インデックス値に基づいて pandas DataFrame 内の列を選択することができます。

整数インデックスに基づいて列を選択する場合は、 .iloc関数を使用できます。

ラベルのインデックスに基づいて列を選択する場合は、 .loc関数を使用できます。

このチュートリアルでは、これらの各関数を実際に使用する方法の例を示します。

例 1: 整数インデックスに基づいて列を選択する

次のコードは、pandas DataFrame を作成し、 .ilocを使用して整数インデックス値3を持つ列を選択する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' points ': [11, 7, 8, 10, 13, 13],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' rebounds ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

	team points assists rebounds
0 A 11 5 11
1 To 7 7 8
2 to 8 7 10
3 B 10 9 6
4 B 13 12 6
5 B 13 9 5

#select column with index position 3
df. iloc [:, 3]

0 11
1 8
2 10
3 6
4 6
5 5
Name: rebounds, dtype: int64

同様の構文を使用して複数の列を選択できます。

 #select columns with index positions 1 and 3
df. iloc [:, [1, 3]]


        rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5

または、範囲内のすべての列を選択することもできます。

 #select columns with index positions in range 0 through 3
df. iloc [:, 0:3]

        team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9

例 2: ラベルのインデックス付けに基づいて列を選択する

次のコードは、pandas DataFrame を作成し、 .locを使用して“bounces”のインデックス ラベルを持つ列を選択する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' points ': [11, 7, 8, 10, 13, 13],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' rebounds ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

	team points assists rebounds
0 A 11 5 11
1 To 7 7 8
2 to 8 7 10
3 B 10 9 6
4 B 13 12 6
5 B 13 9 5

#select column with index label 'rebounds'
df. loc [:, ' rebounds ']

0 11
1 8
2 10
3 6
4 6
5 5
Name: rebounds, dtype: int64

同様の構文を使用して、異なるインデックス ラベルを持つ複数の列を選択できます。

 #select the columns with index labels 'points' and 'rebounds'
df. loc [:,[' points ',' rebounds ']]

	rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5

または、範囲内のすべての列を選択することもできます。

 #select columns with index labels between 'team' and 'assists'
df. loc [:, ' team ':' assists ']

	team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9

関連: Pandas loc と iloc: 違いは何ですか?

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

Pandas DataFrame でインデックスによってグループ化する方法
Pandas DataFrame でインデックスによって行を選択する方法
Pandas DataFrame で行番号を取得する方法
Pandas DataFrame のインデックス列を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です