第1回Python3データ分析模擬試験【第20問】解説

第1回Python3データ分析模擬試験第20問

本問題では「pandas」のうち「DataFrameの生成、データの抽出(locメソッドとilocメソッド)」について学びます。

本問題の解説はYouTube動画でもご覧いただけます。
【解説動画】 第1回Python3データ分析模擬試験 第20問
※当解説動画シリーズはPythonエンジニア育成推進協会に認定された「Python 3 エンジニア認定データ分析試験」の参考教材です。

問題

次のスクリプトを実行して10を出力させたい。[ア]に入るものの説明として正しいものはどれか。

import pandas as pd
df = pd.DataFrame([[15, “a”, True],[20, “b”, False],[10, “c”, False]])
df.index = [“01”, “02”, “03”]
df.columns = [“A”, “B”, “C”]
[ア]
print(a)

① a = df.iloc[“A”, “03”] または a = df.loc[0, 2]
② a = df.iloc[“A”, “03”] または a = df.loc[3, 1]
③ a = df.loc[“03”, “A”] または a = df.iloc[2, 0]
④ a = df.loc[“03”, “A”] または a = df.iloc[3, 1]
⑤ a = df[“A”, “03”]

解説

正解は選択肢③です。以下、解説します。

DataFrameの確認

第1回_Python3データ分析模試_第20問DataFrameの確認

まずコードを確認します。

右のコード中、[ア]の手前まで(青枠内)で、DataFrameが作られています。

第1回_Python3データ分析模試_第20問DataFrameの出力

出力すると、右のようなデータ構造を確認できます。

第1回_Python3データ分析模試_第20問DataFrameの出力

右図は、先ほどのDataFrameをわかりやすく表現したものです。これをもとに、コードを確認していきます。

コードの確認

第1回_Python3データ分析模試_第20問コードの確認

まずpandasをインポートします。
3×3のDataFrameを作ります。

df.indexに、行の名前(任意の数字)を指定します。

df.columnsに、列の名前(任意の文字列)を指定します。

第1回_Python3データ分析模試_第20問locとiloc.png

ところで本問で抽出したいのは、数字の「10」(先ほどのDataFrame上の赤枠内)です。

10を抽出するためのメソッドとして、本問の各選択肢ではlocとilocが使われています。

locとilocの使い方の違いは、行と列を名前で指定するのがloc、番号で指定するのがilocです。

このDataFrameで、10をlocで抽出するなら、行列ともに名前(「03」と「A」)で指定します。ilocで抽出するなら数字(「2」と「0」)で指定します。

第1回_Python3データ分析模試_第20問コードの確認(loc)

行列を、locで指定したコードの実行結果は右の通りです。

第1回_Python3データ分析模試_第20問コードの確認(iloc)

ilocで指定したコードの実行結果は右の通りです。

どちらも同様に10を抽出できることがわかります。

選択肢①~⑤

第1回_Python3データ分析模試_第20問選択肢①~⑤

以上から、この問題の正解は選択肢③となります。

第1回Python3データ分析模擬試験第20問の解説は以上です。