出題配分と章別の取り違えやすい点
Python3データ分析試験の難易度と章別の難所
難所は、40問のうち27問を占めるNumPy・pandas・Matplotlib・scikit-learnの4章です。合格ラインは正答率70%(28問正解)で基礎試験と同じですが、問われるのは言語仕様ではなくライブラリの返り値や既定値です。
難易度の公式指標と合格率は公表されていないため、このページは出題数の配分と、章ごとの取り違えやすい点から読み解きます。
公式情報の確認
試験日、料金、申込条件、試験方式など変動する情報は、公式情報を最終確認してください。
難所の読み方と進め方は、公式の出題配分と各ライブラリの公式ドキュメントにもとづく当サイトの見解です。難易度の公式指標ではありません。
合格ラインと出題数の配分
| 章(主教材の構成) | 出題数 | 割合 |
|---|---|---|
| 1 データエンジニアの役割 | 2問 | 5.00% |
| 2 実行環境とPythonの基礎(環境構築1・Python基礎3・JupyterLab1) | 5問 | 12.50% |
| 3 数学の基礎(数式1・線形代数2・基礎解析1・確率と統計2) | 6問 | 15.00% |
| 4-1 NumPy | 6問 | 15.00% |
| 4-2 pandas | 7問 | 17.50% |
| 4-3 Matplotlib | 6問 | 15.00% |
| 4-4 scikit-learn | 8問 | 20.00% |
| 5 応用: データ収集と加工 | 0問 | 0.00% |
ライブラリを扱う4-1から4-4の合計は27問(67.5%)です。28問正解が必要なので、仮にscikit-learnの8問をすべて落とすと、残る32問のうち28問、つまり87.5%を取る必要があります。1つの章を捨てる作戦は成り立ちにくい配分です。
章ごとの出題数と試験の仕様は、試験概要のページにまとめています。合格率が公式に記載されていない点は合格基準と合格率のページで扱っています。
章別の難所と取り違えやすい点
当サイトの問題の解説で、公式ドキュメントと照合した取り違えやすい点です。どれも、似た名前の2つの機能や、既定値の記憶があいまいなときに誤答へつながります。
環境とPythonの基礎(5問)
- 除算 / は常に浮動小数点数を返し、// は整数除算で17 // 3は5になる。剰余は % で、17 % 3は2。
- 文字列は変更できず、word[0] = 'J' はエラーになる。一方、範囲外のスライス word[4:42] はエラーにならず、'Python' なら 'on' を返す。
数学の基礎(6問)
- statistics.median は偶数個のデータで中央2値の平均を返し、[1, 3, 5, 7] なら 4.0 になる。
- np.var の割る数は既定で N(ddof=0)。N-1 で割る標本分散にしたいときは ddof=1 を指定する。statistics.variance は N-1 で割るので、既定の割り方が違う。
- NumPy の * は要素ごとの積で、行列積は @ 演算子か dot で行う。
NumPy(6問)
- np.arange(10, 30, 5) は終了の30を含まず、4要素の配列になる。
- sum(axis=0) は列ごと、axis=1 は行ごとの計算になる。
- b = a は別名を付けるだけで、スライスはビュー(同じデータを見る配列)を返す。s[:] = 10 と代入すると元の配列も変わる。
pandas(7問)
- loc と at はラベル、iloc と iat は位置で指定する。iloc のスライスは終端を含まず、6行4列の df.iloc[3:5, 0:2] は2行2列になる。
- df[df['A'] > 0] は行数が減るが、df[df > 0] は形が同じまま条件を満たさない要素が NaN になる。
- merge でキーが重複していると組み合わせが作られ、foo が2行ずつなら 2×2 で4行になる。
Matplotlib(6問)
- Axes はデータを描く領域、Axis は軸のスケールと目盛りを扱うもの。名前が1文字違いで混同しやすい。
- plt.subplots(2, 2) は、2×2の Axes の格子を持つ1つの Figure を返す。
- 文字列を渡すとカテゴリ変数として描画される。数値のつもりの文字列もカテゴリになる。
scikit-learn(8問)
- 推定器は fit で当てはめ predict を持つ。変換器は predict を持たず、変換後の X を返す transform を持つ。
- RandomForestClassifier の n_estimators の既定値は100(バージョン0.22で10から変更)で、criterion の既定は 'gini'。
- ColumnTransformer の remainder の既定は 'drop'で、指定しなかった列は出力から捨てられる。残すには 'passthrough' にする。
Python3エンジニア認定データ分析試験の学習に使う書籍(Amazon)
PR基礎試験との違い
| 項目 | 基礎試験 | データ分析試験 |
|---|---|---|
| 問題数 | 40問(選択式) | 40問(すべて選択問題) |
| 合格ライン | 正答率70% | 正答率70% |
| 主教材 | 『Pythonチュートリアル』(オライリー・ジャパン) | 『Pythonによるあたらしいデータ分析の教科書 第2版』(翔泳社) |
| 出題の中心 | 言語仕様(文法・組み込み型・標準機能) | NumPy・pandas・Matplotlib・scikit-learn の4章で27問 |
数字で並べると、問題数と合格ラインは同じで、違いは出題の中身と、公表されている情報の量です。基礎試験の合格率76.0%は基礎試験単独の累計値なので、データ分析試験の難しさの目安にはできません。
基礎試験の側の難所は基礎試験の難易度のページに、両試験の範囲の違いはデータ分析実践試験との比較にあります。
難所から決める進め方
- まずscikit-learn(8問)とpandas(7問)の問題を解き、返り値と既定値で迷う箇所を書き出す。
- NumPyとMatplotlibは、axis・ビューとコピー・Axes と Axis のような、名前や向きの取り違えを重点的に確認する。
- 数学とPython基礎は11問と少なくても、取りこぼすとライブラリ章の余裕が減るので、公式の例の数値まで確認する。
よくある質問
Python3エンジニア認定データ分析試験は難しい?
難易度を示す公式の指標はありません。合格ラインは正答率70%(40問中28問)で、基礎試験と同じです。違いは出題の中身で、27問がNumPy・pandas・Matplotlib・scikit-learnの使い方を問う4章に集まっています。言語仕様だけを覚えた人は、ライブラリの返り値や既定値で迷いやすくなります。
どの章を先に固めるべき?
出題数が最も多いscikit-learn(8問)とpandas(7問)が候補です。この2章で15問、全体の37.5%を占めます。ただし28問正解が必要なため、数学(6問)やPython基礎(5問)を落とすと、ライブラリ章で取りこぼせる余地が減ります。
基礎試験に合格していないとデータ分析試験は受けられない?
公式の試験ページが案内する受験方法は、全国のCBTテストセンターでの申込みです。スキルマップには、職種別の受験ステップの例が示されています。AIエンジニアやPythonデータエンジニア(エントリー)の例は、基礎試験、データ分析試験、データ分析実践試験の順です。
合格率は何%?
基礎試験の76.0%は基礎試験単独の累計値なので、データ分析試験の合格率や難しさの目安にはなりません。
