2026/09/07

出発点で壁が変わるPython3エンジニア認定データ分析試験

合格率が公表されていない試験の難度は、何を手がかりに見積もればよいのか。基礎試験との差分、実務でデータ分析をしている人ほど落とす問題、40問中28問という下限と60分の時間配分から考えます。

執筆:ケンテイラボ編集部(資格試験対策アプリ開発・運営)

Python3エンジニア認定データ分析試験は、一般社団法人Pythonエンジニア育成推進協会が実施する認定試験です。主教材『Pythonによるあたらしいデータ分析の教科書』に準拠し、選択式40問を60分で解き、正答率70%で合格となります。受験料は11,000円(税込)、学生は5,500円(税込)で、全国のCBT会場にて通年で受験できます。

この試験の難易度を語るとき、「簡単」「難しい」という一つの答えを出しても、あまり意味がありません。理由ははっきりしていて、受験する人の出発点によって、詰まる場所がきれいに分かれるからです。Pythonは日常的に書いているが数式を見ると身構えてしまう人、統計や数学は分かるがPythonを触るのは初めての人、そしてどちらも初学者の人。この三者は、同じ40問を前にしてもまったく違う手応えを覚えます。この記事では、平均的な難易度を数字で語るのではなく、「あなたの出発点だと、どこが壁になるのか」という形で整理していきます。

この試験の難しさは「範囲の広さ」から来ていない

先に結論を書きます。この試験は、出題範囲が非常にきれいに閉じている試験です。出題は主教材『Pythonによるあたらしいデータ分析の教科書』に準拠しており、しかも協会が公開している出題範囲表には、章・節ごとの問題数が明示されています。つまり「どこから何問出るか」が受験前から分かっている状態で臨めます。

内訳を見ると、分析エンジニアの役割とPython環境・文法の基礎が7問、数学の基礎が6問、NumPyが6問、pandasが7問、Matplotlibが6問、scikit-learnが8問で、合計40問になります。教科書の応用章にあたるデータ収集・加工の領域は0問とされており、試験対策としては優先度を下げてよい範囲です。ライブラリの実践部分だけで27問、全体の約7割弱を占めているという構造も、範囲表からそのまま読み取れます。

ですから、「範囲が広すぎて手が回らない」という種類の難しさは、この試験にはほとんどありません。教材1冊を最後まで通す時間さえ確保できれば、対象は見えています。それでも人によって手応えが大きく違うのは、教材1冊の中に「Pythonのコード」と「数式・統計の概念」という性質のまったく異なる二種類の知識が同居しているからです。難しさの正体は、範囲の面積ではなく、自分に足りていないほうの層がどれだけ厚いかにあります。

この構造は、学習計画の立て方にも影響します。範囲が閉じている試験では、「とりあえず教材を読み進める」という進め方が通用しますが、それは同時に、自分の弱い層に差しかかったところで急に進みが遅くなることを意味します。教材の前半を順調に読めていたのに、数学の章で止まる。あるいはライブラリの章に入った途端にコードが頭に入ってこない。どちらも珍しいことではなく、教材の質の問題でもありません。単に、その人にとって新しい層がそこから始まっているというだけです。あらかじめ自分の弱い層を知っておけば、そこに時間の余裕を持たせた計画を立てられます。

合格率が公表されていない試験を、どう見積もるか

協会は2024年3月に、データ分析試験の合格率81.5%と累計受験者数50,990名(いずれも2024年2月末時点)を公表しています。ただしCBT形式で通年実施される試験のため特定回の合格率という概念がなく、この数値も累計ベースです。回次ごとに継続して公表されているわけではないので、直近の水準は分かりません。

合格率が分からないと不安になりますが、実はこの試験に限っては、合格率を知っても得られる情報はそれほど多くありません。合格率が意味を持つのは、相対評価の試験、つまり受験者の中での順位で合否が決まる試験です。この試験は正答率70%という絶対基準の試験なので、他の受験者が何点取ろうと自分の合否は変わりません。見るべきは「周囲と比べてどうか」ではなく「40問中28問に届く実力があるか」だけです。

そして幸いなことに、絶対基準の試験は自己診断がしやすいという利点があります。出題範囲表に章ごとの問題数が出ている以上、分野ごとの正答率を測れば、本番でおよそ何問取れるかを事前に計算できます。合格率という他人の数字を探すより、自分の分野別正答率を出すほうが、合否の予測としてはるかに精度が高いという理解で臨むのが現実的です。

基礎試験との差分は「文法の上に何が乗るか」

同じ協会が実施するPython3エンジニア認定基礎試験と混同されがちですが、この二つは別の試験です。基礎試験は主教材が『Pythonチュートリアル』で、変数・データ型・制御構文・関数・モジュール・例外処理といったPythonの文法そのものを問います。一方のデータ分析試験は、文法を道具として使える前提のうえで、データを扱うライブラリと、その背後にある数学・統計の考え方を問います。

形式だけを比べると、どちらも選択式40問・60分・正答率70%で、CBT方式という点まで同じです。そのため「形式が同じなら難易度も同程度だろう」と考えてしまいがちですが、問われている中身は重なりません。データ分析試験で上乗せされるのは、おおよそ次の層です。

  • 多次元配列という考え方。ndarrayの形状、軸(axis)の方向、ブロードキャストが成立する条件など、素のPythonのリストにはない概念
  • 表形式データの操作。SeriesとDataFrameの構造、locとilocの使い分け、欠損値処理、結合、グループ集計
  • 可視化のオブジェクト構造。FigureとAxesの関係、pyplotの関数呼び出しとAxesのメソッド呼び出しという二つの書き方
  • 機械学習の共通API。fit・predict・transformという型と、学習データとテストデータを分ける理由
  • 数式表記の読解。シグマ記号や添字、行列の積、微分、分散や相関係数といった統計量の定義

基礎試験を合格済みの人であれば、Python環境と文法にあたる7問はかなり有利に戦えます。ただしそれは40問中の7問であり、残る33問は新しく積む必要があります。「基礎試験に受かったから、その延長で取れる」という見立てで臨むと、想定より重く感じることになります。逆に言えば、基礎試験を経ていなくても、Pythonの文法にすでに慣れている人であれば、その差はほとんど問題になりません。

出発点によって、壁になる場所は違う

ここからが本題です。同じ教材、同じ40問でも、受験者の出発点によってつまずく場所は驚くほどきれいに分かれます。自分がどのタイプに近いかを見極めると、限られた学習時間をどこに寄せるべきかが決まります。

Pythonは書けるが、数学が苦手な人

業務でPythonを書いているエンジニアに多いパターンです。この層にとって、ライブラリの章は既知の内容が多く、読み進めるのは速いはずです。壁になるのは数学の基礎にあたる6問と、scikit-learnの評価指標まわりです。シグマ記号や添字の読み方、行列の積が成立する次元の条件、微分が最適化とどうつながるのか。こうした部分で「なんとなく雰囲気で読み飛ばす」癖がついていると、選択肢の言い回しの違いを判断できません。

救いは、この試験の数学が計算力を問うものではないという点です。手計算で解を出させるより、記号が何を表しているか、用語の定義が正しく結びついているかを問う設問が中心です。したがって対策は、計算練習ではなく用語と式の対応づけになります。分散・標準偏差・共分散・相関係数がそれぞれ何を測っている量で、どういう関係にあるのか。混同行列の4区分から適合率と再現率がどう導かれるのか。この二か所を言葉で説明できる状態にするだけで、6問の数学と8問のscikit-learnの取りこぼしはかなり減ります。

統計は分かるが、Pythonが初めての人

統計学を学んだ経験がある人や、他のツールでデータ分析をしてきた人がこちらです。この層は、数学の6問とscikit-learnの概念部分ではほとんど困りません。決定木の不純度も、主成分分析の寄与率も、交差検証の意味も、すでに知っている概念として読めます。壁になるのはコードの側、とくにNumPyとpandasの合計13問です。

この層がつまずくのは、概念ではなく書き方の細部です。スライスがコピーではなく参照であること、axis=0とaxis=1がどちらの方向を指すのか、reshapeとresizeの違い、locはラベルでilocは位置でありスライスの終端の扱いが異なること、mergeのhow指定で結果の件数が変わること。どれも統計の知識ではまったく補えず、実際に手を動かして確かめないと定着しません。「意味は分かっているのに、選択肢のどれが正しい書き方か判断できない」という状態が最も危険で、理解しているつもりのまま本番を迎えると、13問をまとめて落としかねません。

この層におすすめしたいのは、教材を読む前にまず問題を解いてみることです。概念面は既に分かっているので、間違えた問題がそのまま「知らない書き方」のリストになります。学習範囲を効率よく絞り込めます。

また、この層は他のツールで身につけた発想をそのまま持ち込みがちです。表計算ソフトの感覚で行と列を指定しようとしたり、別の言語での配列操作の癖でスライスを書いたりすると、意味は近いのに動作が違うという状態になります。pandasやNumPyは、似た目的の機能を複数の書き方で提供していることも多いため、「自分が想定した書き方」と「教材が採用している書き方」の両方を知っておく必要があります。

Pythonも統計も、これから学ぶ人

最も時間がかかるのがこの層です。ただし、悲観する必要はありません。前の二つの層と違って、この層には「知っているつもりで間違える」という落とし穴がないからです。すべてが新しい知識なので、素直に教材の順番どおりに積み上げれば、抜けが生じにくいという利点があります。

気をつけたいのは順序です。Pythonの文法に慣れていない状態でNumPyやpandasの章に入ると、ライブラリの機能を学んでいるのか文法を学んでいるのか区別がつかなくなり、どちらも中途半端になります。内包表記、辞書、関数定義、例外処理あたりまでは、ライブラリに進む前に手を動かして固めておくほうが結果的に速く進みます。教材の1章・2章にあたる7問分の領域は、暗記量の割に得点しやすい部分でもあるので、ここを土台にするのは学習効率の面でも理にかなっています。

もう一つの注意点は、数学の章で立ち止まりすぎないことです。この試験の数学は6問であり、しかも定義と読み方が中心です。線形代数や微積分を体系的に学び直そうとすると、そこで学習が止まってしまいます。まずは試験で問われる粒度に絞って進み、必要を感じたときに深掘りするほうが現実的です。

実務でデータ分析をしている人ほど落としやすい問題がある

意外に思われるかもしれませんが、普段から業務でpandasやscikit-learnを使っている人が、この試験で思ったほど点を取れないことがあります。実務と試験で、求められる知識の形が違うためです。

実務では、必要な処理を書ければそれで済みます。引数名を忘れていても補完が出ますし、公式ドキュメントを開けば確認できます。自分がよく使う数個の書き方さえ手に馴染んでいれば仕事は回ります。ところがこの試験はCBT形式で持ち込みも参照もできません。しかも設問は、実務で自分が選ばなかったほうの書き方についても等しく問うてきます。具体的には、次のようなところで差が出ます。

  • 普段は使わない引数。自分は使ったことのないオプションが、選択肢の中に正解として並ぶ
  • 可視化の書き方の二重性。pyplotの関数(titleやxlabel)とAxesのメソッド(set_title、set_xlabel)は名前が微妙に違い、片方の流儀しか使っていないと読み違える
  • 配列生成やスライスの細部。動けばよいという書き方に慣れていると、参照とコピーの違いのような挙動を正確に説明できない
  • 評価指標の定義。実務ではライブラリが計算してくれる適合率・再現率・F値を、定義から自力で導けるか
  • 教科書が扱う範囲と、自分の業務範囲のずれ。担当外の手法(階層的クラスタリングやサポートベクタマシンなど)が同じ重みで出題される

つまり、実務経験は「概念の理解」という点では大きな強みになりますが、「網羅性」という点ではむしろ偏りを生みます。経験者ほど、教材を最初から通読する工程を省略したくなりますが、この試験に関しては、知っている章こそ拾い読みで穴を確認する価値があります。自分が普段使わない書き方を、試験は容赦なく聞いてきます。

この点は、学習にかける時間の見積もりにも関わります。実務経験者は「数週間あれば十分だろう」と考えがちですが、実際に時間を取られるのは知らない分野ではなく、知っているつもりだった分野の穴埋めです。穴は自分では見つけにくいので、教材を読むより先に問題を解き、間違えた箇所から逆に教材へ戻るという進め方が向いています。理解が足りない箇所と、単に触れたことがなかっただけの箇所は、解いてみれば区別がつきます。

収録問題の分野内訳から重心を確認する

ケンテイラボがこの試験向けに収録している問題を、分野ごとに分けたのが次の表です。各分野に何問収録されているか、全体に占める割合はどれくらいか、そしてその分野では具体的に何が問われるのかを掲載しています。なお収録数は公式の出題数配分と一致させておらず、公式では出題数が割り当てられていない応用分野にも演習用の問題を置いています。時間配分を決めるときは、公式の出題範囲表にある章別の問題数を基準にしてください。

収録問題8分野の内訳と比重

ケンテイラボではPython3エンジニア認定データ分析試験の収録問題を8の分野に分けて整理しています (学習しやすさを優先した本サイト独自の区分で、実施団体が公表している 出題区分そのものではありません)。収録している304問を分野別に集計すると、 最も問題数が多いのは「④ pandas」の45問(全体の14.8%)、 最も少ないのは「① 分析エンジニアの役割・Python環境」の32問(同10.5%)です。上位3分野だけで全体の42.1%を占めるため、 ここを先に固めるかどうかが得点の土台になります。

分野ごとの学習負荷を、問題文のデータから見る

次の表は、収録している問題そのものを集計したものです。分野ごとに「数値を含む問題の割合」と「問題文の平均文字数」を出しています。数値を含む割合が高い分野は具体的な値や形状を追う設問が多く、低い分野は用語や考え方を問う設問が中心という傾向が読み取れます。問題文が長い分野は、それだけ読解と条件整理に時間を取られるということでもあり、後述する時間配分を考えるうえでの材料にもなります。

分野別の学習タイプ(収録304問の集計)

ケンテイラボに収録しているPython3エンジニア認定データ分析試験の問題を分野別に集計し、 「問題文または選択肢に数値が登場する問題の割合」と「問題文の平均文字数」を出しました。 数値の割合が高い分野は具体的な数字の暗記が得点を左右しやすく、 低い分野は用語の理解や文章の読み取りが中心になる傾向があります。

この試験でもっとも数値の比率が高いのは「③ NumPy」で60%、 もっとも低いのは「⑤ Matplotlib」で20%でした。 また問題文がもっとも長いのは「⑧ 応用:データ収集と加工」の平均56字で、 設問を読み解く負担が大きい分野といえます。

  • ① 分析エンジニアの役割・Python環境32問/数値を含む問題 22%/問題文 平均44
  • ② 数学の基礎35問/数値を含む問題 57%/問題文 平均34
  • ③ NumPy43問/数値を含む問題 60%/問題文 平均49
  • ④ pandas45問/数値を含む問題 47%/問題文 平均41
  • ⑤ Matplotlib40問/数値を含む問題 20%/問題文 平均36
  • ⑥ scikit-learn(前処理・分類・回帰)37問/数値を含む問題 32%/問題文 平均48
  • ⑦ scikit-learn(次元削減・評価・最適化・クラスタリング)35問/数値を含む問題 37%/問題文 平均43
  • ⑧ 応用:データ収集と加工37問/数値を含む問題 43%/問題文 平均56

数値の比率が高い分野は、数字を単独で覚えるより 「どの制度の・何の基準か」とセットで整理すると定着しやすくなります。 比率が低い分野は、似た用語同士の違いを説明できる状態を目指すと得点が安定します。

40問中28問という合格ラインが意味すること

合格ラインは正答率70%、40問なら28問正解です。落とせるのは12問までという計算になります。この12問という枠を、分野の配分と並べて考えると、この試験の構造がはっきりします。

たとえば数学の6問を丸ごと捨てたとします。残り34問のうち28問、つまり約82%を取らなければ合格できません。scikit-learnの8問を捨てた場合はさらに厳しく、残り32問のうち28問で87.5%が必要になります。1問あたりの重みが2.5%もある試験で、特定分野を戦略的に切り捨てるのは現実的ではないということです。

逆の見方をすれば、どの分野も6問から8問という手頃な塊に収まっているとも言えます。極端に配分の大きい分野がないぶん、一つの分野を完璧にしても劇的に有利にはなりませんが、一つの分野が壊滅しても即不合格にはなりません。全分野をおおむね7割から8割まで持ち上げる、という平坦な戦い方が最も合格に近いタイプの試験です。得意分野を伸ばすより、明らかに手薄な分野を人並みまで引き上げるほうが、投じた時間に対する見返りが大きくなります。

60分という試験時間は足りるのか

40問を60分で解くので、1問あたり平均1分30秒です。数字だけ見ると余裕があるようには見えませんが、この試験の設問は選択式であり、長大なコードを読ませたり、その場で複雑な計算をさせたりする形式ではありません。知っていれば即答でき、知らなければ何分粘っても答えが出ない、という性質の問題が多くを占めます。

したがって時間切れの主な原因は、読むのが遅いことではなく、迷った問題に居座ってしまうことです。分からない問題に3分かけると、それだけで他の2問分の時間を使います。20秒考えて手がかりが出てこない問題は印だけつけて先に進み、全問に目を通してから戻る。この運用ができていれば、時間が足りなくなることはまず起きません。

むしろ注意したいのは、時間が余ったときの見直しです。CBT形式では画面上で解答を変更できるため、確信のない問題を後から書き換えたくなります。ただし、選択肢の細部を読み込むうちに正解を選び直してしまうケースは少なくありません。見直しの対象は、明らかな読み違いや設問の条件(「正しくないものを選べ」といった問われ方)の取り違えに限るのが安全です。

統計検定やG検定と、どこが違う試験なのか

データ分析まわりの資格を調べていると、統計検定やG検定が並んで出てきます。どれが上でどれが下という関係ではなく、測っている軸が違うと考えるほうが正確です。

統計検定は、統計学そのものの理解を測る検定です。1級から4級はデータの読み方、確率、推定、検定といった理論の側に重心があり、実装は問われません(ただしデータサイエンス基礎はExcelで実データを操作する形式です)。G検定は、ディープラーニングを中心としたAI技術の全体像と、その社会実装・法制度・倫理までを幅広く扱う試験で、こちらも手を動かす実装は範囲外です。対してPython3エンジニア認定データ分析試験は、Pythonという特定の言語で、特定のライブラリを使ってデータを処理できるかという実装寄りの軸に立っています。

この違いは、学習が重なるかどうかにも表れます。統計検定で学んだ内容は、この試験の数学の6問と、scikit-learnの評価指標のところで確かに効きます。G検定で学んだ機械学習手法の知識も、分類・回帰・クラスタリングの概念理解に生きます。ただし、どちらもNumPyやpandasの書き方は教えてくれません。逆に、この試験に受かってもライブラリの背後にある統計理論を体系的に学んだことにはなりません。目的が「Pythonでデータを触れることを示したい」ならこの試験が素直に合いますし、「データの読み方そのものを鍛えたい」なら統計検定のほうが近いと言えます。どれか一つを選ぶというより、自分が今どちらの層を厚くしたいかで決めるのが実際的です。

受験時期の面でも性格が違います。この試験はCBT形式で通年実施されているため、実施回を待つ必要がなく、準備ができた時点で申し込めます。逆に言えば締め切りが自分で設定するものになるため、学習が間延びしやすい面もあります。到達度を測る手段を持ち、合格ラインに届く見通しが立った時点で日程を押さえる、という進め方が噛み合う試験です。

ケンテイラボの304問を、到達度の物差しとして使う

ケンテイラボでは、この試験向けに304問を無料で公開しています。合格率という他人の数字が手に入らない以上、自分の到達度を測る道具を自分で持っておくことが、この試験では特に重要になります。304問という数は、本番40問のおよそ7.6倍にあたるので、分野ごとに十分な数のサンプルが取れます。

使い方としては、まず分野別の正答率を出すことをおすすめします。そのうえで、本番の配分(Python環境と文法7問、数学6問、NumPy6問、pandas7問、Matplotlib6問、scikit-learn8問)を掛け合わせれば、現在の実力で本番何問取れそうかがそのまま計算できます。たとえば全分野で7割前後なら28問付近で、合格ラインぎりぎりという判定になります。どの分野を何割上げれば安全圏に入るかも、同じ計算で逆算できます。

そしてもう一つ、この記事の冒頭で書いた「出発点によって壁が違う」という話は、実際に解いてみれば数分で自分に当てはめられます。数学の分野だけ正答率が落ちるならライブラリ側は既に足りている人ですし、NumPyとpandasだけ落ちるなら概念ではなく書き方の問題です。教材を一周する前に、まず現在地を測ってから学習計画を立てる。範囲が閉じている試験だからこそ、この順番が効いてきます。

実際に問題を解いて知識を定着させよう

ケンテイラボではPython3エンジニア認定データ分析試験の問題を無料で練習できます。

問題を解く →
← 記事一覧へ戻る