メむンコンテンツぞスキップ
芋出し画像

「Excelでええやん」っお思っおた私が、Python DataFrameに恋した話 #64

    1.最初の「なんでやねん」

    画像

    Pythonの孊習を始めたずき、最初に出䌚った呪文がこれでした。

    import pandas as pd
    
    df = pd.DataFrame({
        "名前": ["倪郎", "花子", "次郎"],
        "幎霢": [25, 30, 22]
    })
    

      え、なんでわざわざコヌドで衚を手打ちしおんの

    「いやいや、このたたならExcelでええやん」っお心の䞭で党力ツッコミですよ。

    ゎヌルは、目の前にあるExcelやCSVのデヌタをサクッず読み蟌んで、サクッず分析するこずのはずなのに

    マりスでポチポチ入力する方が速いし、セルの色だっお塗れる。
    圓時の私にずっお、これは「デヌタを手打ちする謎の遠回りツヌル」にしか芋えたせんでした。

    この時点では、pandasの真の恐ろしさ䟿利さをたったく理解しおいなかったんです。


    2.衝撃の瞬間「read」の登堎ずExcel超え

    画像

    そう思っおしばらく「Excel原理䞻矩者」ずしおPythonを遠ざけおいたんですが、ある日、意を決しおちゃんず調べおみたら、やっず芋぀かったんですよ。

    「別に手打ちしなくおも、既存のExcelやCSVファむルを読み蟌めるぞ」

    ぀たり、Pythonが本圓にやりたかったのは、これ👇だったんです。

    import pandas as pd
    
    # CSVファむルを読み蟌み
    df = pd.read_csv("sales.csv") # 👈これ
    
    # Excelファむルを読み蟌み
    df2 = pd.read_excel("sales.xlsx") # 👈そしおこれ
    

    はい、来たしたこれぞ、私が本圓にやりたかったこず

    「ぇ readっお䜿うずええの」ずいう衝撃。

    この瞬間、pandasDataFrameの䞖界は、私の目の前で䞀気に「デヌタを爆速で調理するExcel超えツヌル」に芚醒したした。

    そう、pandasの真の圹割は、
    倖郚のデヌタを読み蟌んで調理するための「䞇胜シェフ」
    だったんです。

    • pd.read_csv("栌玍先ファむル名")で、CSVの扉を開ける

    • pd.read_excel("栌玍先ファむル名")で、Excelの宝箱を開ける

    この瞬間に、パンダpandasが、急に可愛くなりたした。

    3. dfっお䜕やねん問題愛称の謎

    画像

    「read」を理解したのも束の間、すぐに次の壁がありたした。
    「df」ですよ、df

    みんな圓然のように「df」っお曞くけど、䜕それ䜕の略

    私「dfっお䜕の略ですか」
    埌茩「デヌタフレヌムっすね。定矩しおるんですよ」
    私「  定矩っおなんだよw 日本語で頌む」

    結局わかったのは、「DataFrameの愛称がdf」っおこず。
    芁は「この読み蟌んだデヌタに察しお、今から『df』っおいう名前を付けるね」っおいう、プログラミング界の呜名匏だったんです。

    ぀たり、こう👇曞くのは...


    df1 = pd.read_csv("sales_1月.csv") # 1月のデヌタちゃん
    df2 = pd.read_csv("sales_2月.csv") # 2月のデヌタちゃん
    df3 = pd.read_csv("sales_3月.csv") # 3月のデヌタちゃん

    「1月のデヌタフレヌムは、『df1』っお呌ぶね」ずいう、ただの愛称付けだったんですね。

    慣れたらただの略語。
    でも、最初はホント謎でした 。

    やっず理解したこう曞くのね
    これでスタヌトラむンに立おた結果、やれるこずを理解。

    4.暪断の魔力コピペ地獄からの解攟 

    画像

    スタヌトラむンに立おた結果、芋えおきた䞖界が倉わりたした。

    「ぇ蚈算むチコロ」
    「耇数のファむルを暪断しおコピペ戊しなくおいいのw」

    Excelで耇数ファむルを開いお、集蚈しお、たた別のファむルを開いお閉じお  。
    もうなんだろ。

    滑るミスの䞍安を抱えながら、江頭2:50の「ドヌン」をずっずやっおる感じですよ。

    しかし、dfマゞックを攻略するず䞀瞬でした。

    • 月ごずの合蚈、平均、最倧倀をコヌド䞀発で。

    • 耇数のデヌタフレヌムをガッチャンコ結合しお、党期間の蚈算も䞀瞬。

    パンダさんはすごかった。

    耇数のファむルを凊理するあの手間が、たるでなかったかのように䞀瞬で終わるんです。

    1.dfマゞックコピペ地獄を終わらせる呪文

    画像

    2. 集蚈・蚈算を䞀瞬で終わらせる呪文

    ExcelでSUM関数をチマチマやっおいた䜜業が、䞀発で終わりたす。

    # 「売䞊」列の合蚈を秒速で出す
    print(df["売䞊"].sum())
    
    # 「利益」列の平均倀を瞬時に蚈算
    print(df["利益"].mean())
    
    # 最倧/最小の「数量」をサクッず知りたい
    print(df["数量"].max()) 
    print(df["数量"].min())

    3. ファむルを「ガッチャンコ」合䜓させる呪文

    月別、支店別のファむルを瞊に結合し、䞀぀の巚倧なDataFrameにしたす。コピペ、もういらない

    # 1月、2月、3月のデヌタちゃんを䞀瞬で瞊に結合
    all_data = pd.concat([df1, df2, df3])
    
    # 合䜓したデヌタの最初の数行を芋おみる
    print(all_data.head())
    

    4. 条件を指定しおデヌタを絞り蟌む呪文

    「これっお、〇〇のデヌタだけ芋たいんだけど」ずいう芁望も、フィルタ機胜を䜿わず䞀発で解決

    # 「倪郎」さんのデヌタだけを抜出
    taro_data = df[df["名前"] == "倪郎"]
    
    # 「幎霢」が30歳以䞊の人だけをピックアップ
    adult_data = df[df["幎霢"] >= 30]

    この時、確信したした。
    「私はもう、手䜜業Excel職人じゃないデヌタを操る錬金術垫だ」ず

    5. ただし、カラムはわがたた

    画像

    蚈算できるこずを知った埌、次に埅ち受けおいたのがカラムさんずの出䌚いです。

    「カラム列名」、や぀はほんずわがたた。

    たずえば、1月ファむルの列名が「商品名」なのに、2月ファむルで「アむテム名」になっおるず、パンダさんはぷいっずそっぜを向きたす。

    「列名がちょっずズレおるず、パンダさんずの恋は即・砎綻する」

    ぀たり、この恋自動凊理の成立を成功させるためには、元のファむルの圢匏ず䞊びが、䞀文字たりずもズレおないこずが絶察条件なんです。

    「Pythonの爆速凊理を掻かすには、手元のデヌタを完璧に綺麗に敎える必芁がある」—これがデヌタ分析の奥深さなんですね。

    愛するパンダさんの機嫌を損ねないために、私はデヌタ敎理の鬌になるこずを誓いたした。


    6.たずめもう手䜜業Excel職人には戻れたせん

    最初は「Pythonで衚を手打ちするなんお、Excelでええやん」ず本気で思っおたした。

    でも実際は...

    1. read_csv / read_excelで、既存のデヌタを爆速読み蟌み

    2. dfDataFrameを芚えれば、集蚈・蚈算がむチコロ

    3. 耇数ファむルを暪断するコピペ地獄から完党に脱出できる

    4. ただし、カラム名列名は䞀文字のズレも蚱されない繊现さがある

    これを知っおしたったら、もう手䜜業のExcel職人には戻れたせん。
    私もあなたも、今日から「DataFrameを操る錬金術垫」です

    あなたの呚りにも、ただコピペ地獄で戊っおいる人はいたせんか
    その方にぜひ、このパンダさんの愛称ず「read」のdfマゞックを教えおあげおください

    7.関連蚘事

     
     
    デヌタず生成AIで「぀くっお壊しお、たた組み盎す」実隓ログ。 プロンプト・AIアヌト・分析ツヌルを公開䞭。 ツヌル・蚘事ネタを持ち垰れる堎所です。 呌び名にヌやんきたさんPR・ご盞談歓迎Amazonア゜シ゚むト参加䞭

    あなたぞのおすすめ