LEVEL 10 ・ AI × Python / Lesson 26
AIが書いたコードを読む
5つの質問で、コードの全体をつかみます。細かく追わなくても、何をするコードかが分かる読み方です。
このレッスンが終わったら
「何を読み、何をして、何を書き、元は無事か、外へ出すか、の5つで、AIのコードを読める」と言える。
できることを見る
AIが書いたコードは、**そのまま実行してはいけません。**まず、読みます。この講座で学んだことが、そのまま、「確認する力」になります。
読み方には、コツがあります。コードを、1行目から細かく追う必要は、ありません。次の5つの質問に、順番に答えていきます。
- ① 何を読む?入力ファイル
- ② 何をする?処理の流れ
- ③ 何を書く?出力・保存先
- ④ 元は無事?上書き・削除
- ⑤ 外へ出す?通信・キー
動かしてみる
次のコードは、AIが書いた、という想定のものです。実行する前に、まず、上の5つの質問で、読んでみましょう。
import pandas as pd
# 売上データを読み込む
df = pd.read_excel("sales.xlsx")
# 金額が10万円以上の行を抽出する
large = df[df["金額"] >= 100000]
# 担当者ごとの合計を求める
by_person = large.groupby("担当")["金額"].sum().sort_values(ascending=False)
# 結果をExcelに保存する
by_person.to_excel("large_orders_by_person.xlsx")
print(by_person)読めましたか。では、実行して、確かめます。
この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。
▶ 実行を押すと、ここに結果が出ます
1行ずつ読む
5つの質問に、答えてみます。
① 何を読む?sales.xlsx(売上のExcel)を、読み込んでいる。(read_excel の引数)② 何をする?金額が10万円以上の行を取り出し、担当者ごとに合計し、大きい順に並べている③ 何を書く?large_orders_by_person.xlsx に保存し、画面にも表示している④ 元は無事?元の sales.xlsx には、何も書き込んでいない。(保存先は、別の名前のファイル)⑤ 外へ出す?通信は、していない。パスワードやキーも、出てこない日本語にすると
この日本語の1文が書ければ、そのコードを「読めた」と言えます。もし、自分で日本語にできない行があったら、AIに、その行だけ聞きます。
分からない行を、AIに聞くときの文章
次のPythonコードの、「by_person = ...」の行が何をしているか、初心者にも分かるように、1つずつ説明してください。
by_person = large.groupby("担当")["金額"].sum().sort_values(ascending=False)1か所だけ変える
読めると、直せるようになります。たとえば、「10万円以上」を、「4万円以上」に変えたいときは、どこを直せば良いでしょうか。
この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。
▶ 実行を押すと、ここに結果が出ます
100000 を 40000 にしただけです。対象の行が、4行から8行に増えました。AIに頼み直さなくても、自分で直せる場所が、たくさんあります。
自分で書く
お題① 次のコードで、「10万円以上」を「4万円以上」に変え、対象の行数を表示してください。(8)
この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
2行目の 100000 を、40000 に書き換えます。
答えの例を見る
import pandas as pd
df = pd.read_excel("sales.xlsx")
large = df[df["金額"] >= 40000]
print(len(large))お題②(読んでみよう) 次の、AIが書いたコードについて、5つの質問に答えてください。
import pandas as pd
df = pd.read_csv("orders.csv")
df["税込"] = df["金額"] * 1.1
df.to_csv("orders.csv", index=False)答えを見る
- 何を読む? orders.csv
- 何をする? 金額に1.1を掛けて、「税込」という列を足している
- 何を書く? orders.csv に、保存している
- 元は無事? いいえ。読み込んだ元の orders.csv に、そのまま上書きしています。(危険です)
- 外へ出す? 通信は、していない
④が、危ないところです。保存先を orders_with_tax.csv のような別名にすれば、安全になります。次のレッスンで、詳しく見ます。