Pandas DataFrame のセルの値を取得する方法
Asad Riaz
2020年6月25日
2020年4月1日
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
を返さず、最も簡単に使用できます。