1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python初心者】『Python実践データ分析100本ノック』1〜10本目に挑戦してみた体験と学び【躓きポイントと乗り越え方】

Posted at

はじめに

こんにちは、Python初心者として、日々コードと格闘している社会人です。
今回は『Python実践データ分析100本ノック(以下、100本ノック)』に取り組んでみて、その中で得た学びや感動、そして何より数々のエラーとの出会いを、備忘録としてここに記しておきたいと思います。

「これからやってみようかな」と思っている方の参考になれば、そして、どなたかとこの“体験”を共有できれば幸いです。


📖 Python実践データ分析100本ノックとは(引用)

100本ノックは、データ分析に必要なPandasの使い方を、さまざまなビジネスデータをもとに100問分ひたすら実践して身につけていく教材です。
基礎から中級まで、段階を追って実務に即した内容が詰まっており、現場レベルの実践力を養うことができます。

💡 書籍・教材については著作権を尊重し、内容は引用の範囲内にとどめています。


🧑‍💻 実践した環境

  • Python 3.10
  • Jupyter Notebook
  • pandas 1.5.x
  • 使用教材:100本ノック CSV + Jupyterノートブック形式

🚀 学習スタイルとモチベーション維持法

最初に感じたのは…**「敷居、たっけぇ」**です。
正直、初見では全く意味が分からず手が止まる場面が多かったです。

ですが、**「1日1ノック」**と決め、平日の朝に取り組み、週末は復習。
少しずつ繰り返すうちに、
「こんな動作してたのか!」
「はぁー、すっげ!」
「やべぇ、これマジでおもろい」
と、心の中でつぶやいてました(笑)


🧠 1〜10本目の学びと感動

✔ 主に身についたこと

  • CSV読み込み → .read_csv() で「これぞデータ分析の入口」
  • DataFrameの基本操作 → .head(), .info(), .describe() などで概要把握
  • データの条件抽出 → df[df["列名"] == 値] 形式を体に染み込ませる
  • 集計系 → .groupby(), .value_counts() によるデータの見せ方
  • pd.to_datetime() による日付変換と .dt アクセスで月単位の抽出など

🐛 やらかしポイント&詰まりポイント(初心者のリアル)

.dt.strftime に「.(ドット)」が抜けててエラー

join_data["payment_month"] = join_data["payment_date"]dt.strftime("%Y%m")

AttributeError に苦しむ → .dt の前にはドット必須だと理解


groupby() に複数列渡すときはリスト形式にすべきだった

join_data.groupby("payment_month", "item_name")  # ←これはNG

→ 正しくは:

join_data.groupby(["payment_month", "item_name"])

地味だけど致命的な間違い。Pythonの引数の扱いに慣れていない証拠でした。


sum()datetime 型に対して失敗する

df.groupby("")["日付"].sum()  # ← TypeError発生

→ 日付は合計できない!と学びました。数値列だけを指定すべし。


🎨 ヒートマップで「数字が見える化」されて感動

以下のようなコードで月別・商品別の売上を視覚化できたとき、思わず「おぉ…!」と声が出ました。

pivot = pd.pivot_table(join_data, index='item_name', columns='payment_month', values='price', aggfunc='sum')

import seaborn as sns
import matplotlib.pyplot as plt

plt.figure(figsize=(10,6))
sns.heatmap(pivot, annot=True, fmt=".0f", cmap="YlGnBu")
plt.title("月別×商品別 売上ヒートマップ")
plt.show()

🔚 まとめ:やってよかった、本気で。

1〜10本目でもう「十分価値がある」と思いました。
一問ずつ丁寧に向き合えば、初心者でも少しずつ成長できます。

失敗して恥をかいて、検索して、理解して、次に活かす。
その積み重ねが本当に面白いんです。


📝 今後の目標

  • ノック11〜20も継続挑戦
  • 可視化の幅を広げる(棒グラフ、散布図、箱ひげ図…etc)
  • groupby().agg()や結合処理をマスターする

🙏 最後に

ここまでお読みいただきありがとうございます。

本記事は自分の備忘録として書きましたが、どなたかが同じように100本ノックに挑戦される際の、ちょっとした道標になれば嬉しいです。

また、自分の理解が間違っていた点などあれば、ぜひコメントやアドバイスもいただけると励みになります。


それでは、また「11〜20本目」の体験記でお会いしましょう!


1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?