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

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

本問題では「pandas」のうち「データ連結(concat関数)」について学びます。

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

問題

pandasに関する次の記述のうち、正しいものはどれか 。

① 相関係数は、カラム間のデータの関係を数値で表すものであり、describeメソッドで取得する。

② DataFrameをNumPy配列に変換するには、values属性を利用する。この場合、インデックス名、カラム名は保持されない。

③ concat関数は、2つのDataFrameを連結する。引数にaxis=0を加えると列方向の連結となり、axis=1を加えると行方向の連結となる。この場合、行列の順序は必ず保持される。
④ pandasはNumPyを基盤に2次元のDataFrameと、より多次元のSeriesをデータ型として提供している。

⑤ corr関数に引数としてDataFrameを渡すと基本統計量グラフを出力することができる。

解説

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

選択肢①

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

選択肢①は誤りです。

相関係数の取得に用いるのは、describeメソッドではなくcorrメソッドです。

選択肢②

第1回_Python3データ分析模試_第26問選択肢②

選択肢②は、正しい肢です。

第1回_Python3データ分析模試_第26問選択肢②DataFrame

例えば右のような、インデックス名とカラム名が指定されたDataFrameを生成します。

ここでvalues属性を用いてDataFrameをNumpy配列に変換すると、データの中身だけになります。インデックス名とカラム名はありません。

選択肢③

第1回_Python3データ分析模試_第26問選択肢③

選択肢③は誤りです。

2つのDataFrameをconcat関数で連結するときに、axisが0なら方向、1なら方向で連結されます。

また行列の順序は必ず保持されるとは限りません。

第1回_Python3データ分析模試_第26問選択肢③concat関数1

たとえば、右のようなDataFrameを生成します。

カラムの名前、df1では「B」「A」、df2では「A」「B」です。df1とdf2はカラムの「A」「B」の順序が異なります。

この2つをconcat関数で、縦方向に連結させると、この場合カラムはdf1またはdf2のいずれか一方しか保持できません(この場合には、df1のカラムの順番「B」「A」を引き継いでいます)。

第1回_Python3データ分析模試_第26問選択肢③concat関数sort引数

なおこの場合にsort引数でTrueを指定すると、カラム名は「A」「B」の順になります。

選択肢④

選択肢④は誤りです。Seriesは「1次元」配列です。

選択肢⑤

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

選択肢⑤は誤りです。

corrはメソッドです。

またcorrメソッドは「相関係数」の算出に使われるものであり、引数として渡せるのは相関係数の算出方法です。

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