Pandas DataFrame の列を選択する

Suraj Joshi 2023年1月30日
  1. インデックス操作を使って Pandas の DataFrame から列を選択する
  2. DataFrame.drop() メソッドを用いた Pandas の DataFrame からの列の選択
  3. DataFrame.filter() メソッドを使った Pandas の DataFrame からのカラムの選択
Pandas DataFrame の列を選択する

このチュートリアルでは、インデックスを作成したり、DataFrame.drop() メソッドと DataFrame.filter() メソッドを使用して、Pandas DataFrame から列を選択する方法を説明します。

以下のように DataFrame df を使用して、Pandas DataFrame から列を選択する方法を説明します。

import pandas as pd

df = pd.DataFrame(
    {
        "A": [302, 504, 708, 103, 343, 565],
        "B": [100, 300, 400, 200, 400, 700],
        "C": [300, 400, 350, 100, 1000, 400],
        "D": [10, 15, 5, 0, 2, 7],
        "E": [4, 5, 6, 7, 8, 9],
    }
)

print(df)

出力:

     A    B     C   D  E
0  302  100   300  10  4
1  504  300   400  15  5
2  708  400   350   5  6
3  103  200   100   0  7
4  343  400  1000   2  8
5  565  700   400   7  9

インデックス操作を使って Pandas の DataFrame から列を選択する

import pandas as pd

df = pd.DataFrame(
    {
        "A": [302, 504, 708, 103, 343, 565],
        "B": [100, 300, 400, 200, 400, 700],
        "C": [300, 400, 350, 100, 1000, 400],
        "D": [10, 15, 5, 0, 2, 7],
        "E": [4, 5, 6, 7, 8, 9],
    }
)

derived_df = df[["A", "C", "E"]]

print("The initial DataFrame is:")
print(df, "\n")

print("The DataFrame with A,C and E columns is:")
print(derived_df, "\n")

出力:

The initial DataFrame is:
     A    B     C   D  E
0  302  100   300  10  4
1  504  300   400  15  5
2  708  400   350   5  6
3  103  200   100   0  7
4  343  400  1000   2  8
5  565  700   400   7  9 

The DataFrame with A,C and E columns is:
     A     C  E
0  302   300  4
1  504   400  5
2  708   350  6
3  103   100  7
4  343  1000  8
5  565   400  9 

DataFrame df からカラム ACE を選択し、これらのカラムを derived_df DataFrame に割り当てます。

DataFrame.drop() メソッドを用いた Pandas の DataFrame からの列の選択

import pandas as pd

df = pd.DataFrame(
    {
        "A": [302, 504, 708, 103, 343, 565],
        "B": [100, 300, 400, 200, 400, 700],
        "C": [300, 400, 350, 100, 1000, 400],
        "D": [10, 15, 5, 0, 2, 7],
        "E": [4, 5, 6, 7, 8, 9],
    }
)

derived_df = df.drop(["B", "D"], axis=1)

print("The initial DataFrame is:")
print(df, "\n")

print("The DataFrame with A,C and E columns is:")
print(derived_df, "\n")

出力:

The initial DataFrame is:
     A    B     C   D  E
0  302  100   300  10  4
1  504  300   400  15  5
2  708  400   350   5  6
3  103  200   100   0  7
4  343  400  1000   2  8
5  565  700   400   7  9 

The DataFrame with A,C and E columns is:
     A     C  E
0  302   300  4
1  504   400  5
2  708   350  6
3  103   100  7
4  343  1000  8
5  565   400  9 

DataFrame df から BD の列を削除し、残りの列を derived_df に割り当てます。あるいは、BD を除くすべての列を選択し、derived_df DataFrame に割り当てます。

DataFrame.filter() メソッドを使った Pandas の DataFrame からのカラムの選択

import pandas as pd

df = pd.DataFrame(
    {
        "A": [302, 504, 708, 103, 343, 565],
        "B": [100, 300, 400, 200, 400, 700],
        "C": [300, 400, 350, 100, 1000, 400],
        "D": [10, 15, 5, 0, 2, 7],
        "E": [4, 5, 6, 7, 8, 9],
    }
)

derived_df = df.filter(["A", "C", "E"])

print("The initial DataFrame is:")
print(df, "\n")

print("The DataFrame with A,C and E columns is:")
print(derived_df, "\n")

出力:

The initial DataFrame is:
     A    B     C   D  E
0  302  100   300  10  4
1  504  300   400  15  5
2  708  400   350   5  6
3  103  200   100   0  7
4  343  400  1000   2  8
5  565  700   400   7  9 

The DataFrame with A,C and E columns is:
     A     C  E
0  302   300  4
1  504   400  5
2  708   350  6
3  103   100  7
4  343  1000  8
5  565   400  9

DataFrame df から ACE の列を抽出またはフィルタリングし、DataFrame derived_df に割り当てます。

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

関連記事 - Pandas DataFrame Column