ねぇ GPT のぞみの停車駅をグラフに描いてみて
今日は可視化を試しました。気分を替えて GPT-4 にお願いします。いつもの Bing に比べると生真面目な感じです。
ken: 東海道新幹線でのぞみが停車する駅について、駅名、東京からの距離、一日の乗降者数を CSV 形式で答えて下さい。
GPT-4: 私の知識は2021年までのものであり、それ以降の変更については分かりませんが、2021年時点での情報を元にCSV形式で答えます。
ちゃんと CSV っぽいものが出てきました。すばらしい!でも、鉄分のすくない脇田にも、おかしな点はいくつか見つけられますよ!新大阪から先は東海道新幹線の駅じゃない(よね?)。それと、のぞみはこんなに停まらない(違う?)それは、見なかったことにして、データ処理の邪魔になりそうな「約」を削除しておきましょう。
ken: 上のCSVデータの乗降者数の欄から「約」を削除して下さい。
GPT-4: (略)
ちゃんと仕事をしてくれました。こういうのはテキストエディタで簡単にできるけれど、口で言って、そのとおりになるのは嬉しいです。じゃ、つぎにこのデータの読み込みに挑戦してみましょう。
ken: 上のCSVデータをPandas DataFrameに読み込むPythonプログラムを教えて下さい。CSVのファイル名は "stations.csv" とします。
GPT-4: (前略:pandas のインストール方法の説明に続けて)次に、Python プログラムを作成します。
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv("stations.csv", encoding="utf-8")
# DataFrameを表示する
print(df)
(後略:プログラムの使用上の注意など。親切ですね。)
ken: この DataFrame を Plotly を用いて、棒グラフを描くプログラムを作って下さい。横軸は東京からの距離、縦軸は乗降者数とします。
GPT-4: (前略:plotly のインストール方法の説明に続けて)次に、以下の Python プログラムで、pandas の DataFrame を使って、Plotly で棒グラフを描画します。
import pandas as pd
import plotly.express as px
# CSVファイルを読み込む
df = pd.read_csv("stations.csv", encoding="utf-8")
# 棒グラフを描画する
fig = px.bar(df, x='東京からの距離(km)', y='一日の乗降者数(人)', text='駅名', hover_name='駅名', title='東海道新幹線の駅別乗降者数')
# グラフの表示
fig.show()
(プログラムの概説と、頼んでもいないホバー機能があることを説明。ありがたいです。)ついでに、グラフの軸やタイトルの名称を変更してみましょう。
ken: 横軸と縦軸のラベルをそれぞれ「東京から(km)」と「乗降者数」に変更して、タイトルは「のぞみの駅別乗降者数」に変更したプログラムに書き換えて。
GPT-4: 以下のようにプログラムを修正して、横軸と縦軸のラベルを変更し、タイトルを「のぞみの駅別乗降者数」に変更します。
import pandas as pd
import plotly.express as px
# CSVファイルを読み込む
df = pd.read_csv("stations.csv", encoding="utf-8")
# 棒グラフを描画する
fig = px.bar(df, x='東京からの距離(km)', y='一日の乗降者数(人)', text='駅名', hover_name='駅名', title='のぞみの駅別乗降者数')
# 軸ラベルを変更する
fig.update_layout(
xaxis_title="東京から(km)",
yaxis_title="乗降者数"
)
# グラフの表示
fig.show()
この修正されたプログラムでは、update_layout 関数を使って、横軸と縦軸のラベルをそれぞれ「東京から(km)」と「乗降者数」に変更し、タイトルを「のぞみの駅別乗降者数」に設定しています。プログラムを実行すると、ブラウザで棒グラフが表示されます。
実行はしていないけれども、これであってそうです。なかなか便利!