Pandas DataFrame のセルの値を取得する方法

Asad Riaz 2023年1月30日
  1. Pandas Dataframe のセルの値を取得するための iloc
  2. Pandas DataFrame のセルの値を取得するための iatat
  3. Pandas DataFrame のセルの値を取得するための df['col_name'].values[]
Pandas DataFrame のセルの値を取得する方法

Pandas DataFrame のセルの値を取得する方法を紹介します。これには ilociat が含まれます。['col_name'].values[] も、特に戻り値の型を pandas.Series として取得したくない場合の解決策です。

Pandas Dataframe のセルの値を取得するための iloc

iloc は、Pandas DataFrame のセルから値を取得する最も効率的な方法です。たとえば、列の名前が pricestockDataFrame があり、3 行目の値を取得して価格と在庫状況を確認するとします。

まず、行にアクセスし、次に列名を使用して値にアクセスする必要があります。

コード例:

# python 3.x
import pandas as pd

df = pd.DataFrame(
    {
        "name": ["orange", "banana", "lemon", "mango", "apple"],
        "price": [2, 3, 7, 21, 11],
        "stock": ["Yes", "No", "Yes", "No", "Yes"],
    }
)
print(df.iloc[2]["price"])
print(df.iloc[2]["stock"])

出力:

7
Yes

iloc は、インデックスの特定の位置にある行(または列)を取得します。これが、引数として整数のみを取る理由です。そして、loc はインデックスから特定のラベルを持つ行(または列)を取得します。

Pandas DataFrame のセルの値を取得するための iatat

iatat は、スカラーが Pandas DataFrame のセルから value を取得するための高速アクセスです。

コード例:

# python 3.x
import pandas as pd

df = pd.DataFrame(
    {
        "name": ["orange", "banana", "lemon", "mango", "apple"],
        "price": [2, 3, 7, 21, 11],
        "stock": ["Yes", "No", "Yes", "No", "Yes"],
    }
)
print(df.iat[0, 0])
print(df.at[1, "stock"])

出力:

orange
No

最後の行のエントリを取得するには、at[df.index[-1],'stock'] を使用します。

コード例:

# python 3.x
import pandas as pd

df = pd.DataFrame(
    {
        "name": ["orange", "banana", "lemon", "mango", "apple"],
        "price": [2, 3, 7, 21, 11],
        "stock": ["Yes", "No", "Yes", "No", "Yes"],
    }
)
print(df.at[df.index[-1], "stock"])

出力:

Yes

Pandas DataFrame のセルの値を取得するための df['col_name'].values[]

df['col_name'].values[] は最初に datafarme 列を 1 次元配列に変換し、次にその配列のインデックスの値にアクセスします:

コード例:

# python 3.x
import pandas as pd

df = pd.DataFrame(
    {
        "name": ["orange", "banana", "lemon", "mango", "apple"],
        "price": [2, 3, 7, 21, 11],
        "stock": ["Yes", "No", "Yes", "No", "Yes"],
    }
)
print(df["stock"].values[0])

出力:

Yes

pandas.Series を返さず、最も簡単に使用できます。

関連記事 - Pandas DataFrame