Pandas DataFrame のセルの値を取得する方法
Asad Riaz
2023年1月30日
Pandas
Pandas DataFrame
-
Pandas Dataframe のセルの値を取得するための
iloc -
Pandas
DataFrameのセルの値を取得するためのiatとat -
Pandas
DataFrameのセルの値を取得するためのdf['col_name'].values[]
Pandas DataFrame のセルの値を取得する方法を紹介します。これには iloc と iat が含まれます。['col_name'].values[] も、特に戻り値の型を pandas.Series として取得したくない場合の解決策です。
Pandas Dataframe のセルの値を取得するための iloc
iloc は、Pandas DataFrame のセルから値を取得する最も効率的な方法です。たとえば、列の名前が price と stock の DataFrame があり、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 のセルの値を取得するための iat と at
iat と at は、スカラーが 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 を返さず、最も簡単に使用できます。
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe