はじめに
こんにちは、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本目」の体験記でお会いしましょう!