Pandas で与えられた列のデータフレームの最初の行を取得する

Suraj Joshi 2023年1月30日
  1. データフレーム内の特定のカラムの最初の行を取得するには Series.loc()Series.iloc() メソッドを使用する
  2. 特定のカラムの最初の行を取得するには Series.loc() メソッドを用いる
Pandas で与えられた列のデータフレームの最初の行を取得する

このチュートリアルでは、Series.loc()Series.iloc() メソッドを使用して、DataFrame 内の指定した列の最初の行を取得する方法を説明します。

この記事では以下の例の DataFrame を使用します。

import pandas as pd

roll_no = [501, 502, 503, 504, 505]

student_df = pd.DataFrame(
    {
        "Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
        "Gender": ["Female", "Male", "Male", "Female", "Female", "Male"],
        "Age": [17, 18, 17, 16, 18, 16],
    },
    index=roll_no,
)

print(student_df)

出力:

         Name Gender Age
501 Jennifer Female   17
502    Travis    Male   18
503       Bob    Male   17
504      Emma Female   16
505      Luna Female   18
506     Anish    Male   16

データフレーム内の特定のカラムの最初の行を取得するには Series.loc()Series.iloc() メソッドを使用する

Series.loc() を使用して Series オブジェクトから特定の行を取得するには、単に行のインデックス名を Series.loc() メソッドの引数に渡すだけです。

DataFrame の各列は Series オブジェクトであり、.loc() メソッドを使って指定した列の任意のエントリを選択することができます。

import pandas as pd

roll_no = [501, 502, 503, 504, 505, 506]

student_df = pd.DataFrame(
    {
        "Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
        "Gender": ["Female", "Male", "Male", "Female", "Female", "Male"],
        "Age": [17, 18, 17, 16, 18, 16],
    },
    index=roll_no,
)

print("The DataFrame is:")
print(student_df, "\n")

first_row = student_df["Name"].loc[501]

print("First row from Name column is:")
print(first_row)

出力:

The DataFrame is:
         Name Gender Age
501 Jennifer Female   17
502    Travis    Male   18
503       Bob    Male   17
504      Emma Female   16
505      Luna Female   18
506     Anish    Male   16

First row from Name column is:
Jennifer

DataFrame student_dfName 列から最初の行を選択して出力します。最初の行のインデックス、すなわち 501 を渡して、最初の行を選択します。

あるいは、最初の行のインデックスと指定したカラム名の両方を引数として loc() メソッドに渡すことで、指定したカラムの最初の行のエントリを DataFrame に抽出することもできます。

import pandas as pd

roll_no = [501, 502, 503, 504, 505, 506]

student_df = pd.DataFrame(
    {
        "Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
        "Gender": ["Female", "Male", "Male", "Female", "Female", "Male"],
        "Age": [17, 18, 17, 16, 18, 16],
    },
    index=roll_no,
)

print("The DataFrame is:")
print(student_df, "\n")

first_name = student_df.loc[501, "Name"]

print("First row from Name column is:")
print(first_name)

出力:

The DataFrame is:
         Name Gender Age
501 Jennifer Female   17
502    Travis    Male   18
503       Bob    Male   17
504      Emma Female   16
505      Luna Female   18
506     Anish    Male   16

First row from Name column is:
Jennifer

インデックス値 503 を持つ Name カラムと最初の行から値を選択します。

特定のカラムの最初の行を取得するには Series.loc() メソッドを用いる

Series.iloc() を使用して DataFrame から特定の行を取得するには、Series.iloc() メソッドに行の整数インデックスを引数として渡します。

import pandas as pd

roll_no = [501, 502, 503, 504, 505, 506]

student_df = pd.DataFrame(
    {
        "Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
        "Gender": ["Female", "Male", "Male", "Female", "Female", "Male"],
        "Age": [17, 18, 17, 16, 18, 16],
    },
    index=roll_no,
)

print("The DataFrame is:")
print(student_df, "\n")

first_row = student_df["Name"].iloc[0]

print("First row from Name column is:")
print(first_row)

出力:

The DataFrame is:
         Name Gender Age
501 Jennifer Female   17
502    Travis    Male   18
503       Bob    Male   17
504      Emma Female   16
505      Luna Female   18
506     Anish    Male   16

First row from Name column is:
Jennifer

DataFrame student_dfName 列から最初の行を選択して出力します。インデックスは 0 から始まるので、最初の行の整数インデックス、すなわち 0 を渡します。

あるいは、最初の行の整数インデックスと指定した列のインデックスの両方を引数として iloc() メソッドに渡して、DataFrame の指定した列の最初の行のエントリを抽出することもできます。

import pandas as pd

roll_no = [501, 502, 503, 504, 505, 506]

student_df = pd.DataFrame(
    {
        "Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
        "Gender": ["Female", "Male", "Male", "Female", "Female", "Male"],
        "Age": [17, 18, 17, 16, 18, 16],
    },
    index=roll_no,
)

print("The DataFrame is:")
print(student_df, "\n")

first_name = student_df.iloc[0, 0]

print("Name of student at first row is:")
print(first_name)

出力:

The DataFrame is:
         Name Gender Age
501 Jennifer Female   17
502    Travis    Male   18
503       Bob    Male   17
504      Emma Female   16
505      Luna Female   18
506     Anish    Male   16

Name of student at first row is:
Jennifer

DataFrame の最初の行と最初の列から値を選択します。

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

関連記事 - Pandas DataFrame Column