今回はChatGPTが
簡単なコードでもどこまで書けるか
色々試してみることにしました
解説動画はこちら
今回はChatGPTを用いて
コードを書かずにプロンプトの指定だけで
どこまでプログラミング 出来るかを
試してみました
プロンプトプログラミング
ChatGPTを用いると
簡単なプログラムコードを
作成させる事ができます
そのプログラムコードが
上手くいくものになるかどうかは
「プロンプト」の指定が
正しく行われている事が前提となっています
なので正しく動作するプログラムを生成したければ
それなりにプロンプトの指定を
きちんと指定を行う必要があります
上手くいくコツとしては
1.どのようなものを作るのかを指定する
2.前提条件を指定する
3.機能面を細かく指定する
というのがポイントとなります
まず初めに簡単なプログラムを指定しました
こんな感じで指定を行うと
次のようなコードが生成されました
関数の指定しかしていないので
関数だけが作成されましたが
動作としては正常に動作するものになりました
要は指定通りです
次はGUIを作成してみました
データの読み込みは一緒にして
ボタンを配置するなどの機能を指定します
ボタンをクリックしたら
描画する様に指定してみます
出来上がったコードはこれ
ボタンもきちんと配置され
機能面も指定通りです
クリックすると描画も行われます
数値型の絞り込みもバッチリですが
クリックごとに描画が増えてしまうので
そこを消す指定をしてあげないと
クリックするたびに画像が増えてしまいます
プロンプトで指定していない機能は
実装されない様ですね
最後はWEBからデータを取得して
描画させる様にしました
出来上がったコードはこれ
データの取得は出来ましたが
描画の方が少しおかしいところが出てきました
表示されるラベルが違っていたり
データが足りなかったり
データの造り込みなどを指定する部分が
少し甘かった様です
このようにきちんとプロンプトを指定すれば
コードの方もきちんとしたものが返ってきます
コードの作成に時間がかかる様なものをつくりたければ
仕様をきちんと文字起こしすれば
上手く機能するコードに直す事が
一瞬で出来そうですね
プログラミング初心者が
どうコードを書いて良いかわからない場合に
お手本となるサンプルプログラムを
解説付きで生成出来たりもするので
これからはプロンプトプログラミングが
主流になっていくんじゃないかと思います
プログラム言語の知識に加えて
その周辺のプロンプト活用の知識も
必須になって来ますね
今回はプロンプトを活用して
ChatGPTでノーコードプログラミングを
試してみました
今日は
ここまでです
それでは
簡単なコードでもどこまで書けるか
色々試してみることにしました
解説動画はこちら
今回はChatGPTを用いて
コードを書かずにプロンプトの指定だけで
どこまでプログラミング 出来るかを
試してみました
プロンプトプログラミング
ChatGPTを用いると
簡単なプログラムコードを
作成させる事ができます
そのプログラムコードが
上手くいくものになるかどうかは
「プロンプト」の指定が
正しく行われている事が前提となっています
なので正しく動作するプログラムを生成したければ
それなりにプロンプトの指定を
きちんと指定を行う必要があります
上手くいくコツとしては
1.どのようなものを作るのかを指定する
2.前提条件を指定する
3.機能面を細かく指定する
というのがポイントとなります
まず初めに簡単なプログラムを指定しました
前提条件: コードにはコメントを記載する Python 3.8を使用する グローバル変数の使用を避けて関数の引数を介して必要な変数を渡す 機能条件: 1.以下の構造を持つ関数「read_csv_file」を作成する seaborn ライブラリの tips データセットを読み込みする データフレームを戻り値として返す 2.機能条件1で作成したデータを読み込み以下の形式でプロットする関数「plot_data」を作成する matplotlib ライブラリを用いて読み込んだデータフレームの 数値型の列のデータを1つ箱髭図でプロットする
こんな感じで指定を行うと
次のようなコードが生成されました
import seaborn as sns
import matplotlib.pyplot as plt
def read_csv_file():
# seabornライブラリのtipsデータセットを読み込む
df = sns.load_dataset('tips')
# データフレームを返す
return df
def plot_data(df, column_name):
# 指定された列のデータを取得
data = df[column_name]
# 箱ひげ図を描画
fig, ax = plt.subplots()
ax.boxplot(data)
ax.set_title(column_name)
plt.show()
関数の指定しかしていないので
関数だけが作成されましたが
動作としては正常に動作するものになりました
要は指定通りです
次はGUIを作成してみました
データの読み込みは一緒にして
ボタンを配置するなどの機能を指定します
ボタンをクリックしたら
描画する様に指定してみます
以下の条件を満たすPythonコードを生成して下さい 前提条件: コードにはコメントを記載する Python 3.8を使用する グローバル変数の使用を避けて関数の引数を介して必要な変数を渡す 機能条件: 1.以下の構造を持つ関数「read_csv_file」を作成する seaborn ライブラリの tips データセットを読み込みする データフレームを戻り値として返す 2.ipywidgetsを使ってGUIを作成する 2-1.で作成した関数を用いてデータフレームを作成する 2-2.データフレームのデータを数値型だけに絞り込む 2-3.ipywidgetsで2-2で作成したデータのカラムを選択できるセレクトボックスを作る 2-4.ipywidgetsでボタンを作成し「plot」と表示する 2-5.2-4で作成したボタンをクリックしたら読み込みしたデータをmatplotlibライブラリでプロットする
出来上がったコードはこれ
import seaborn as sns
import ipywidgets as widgets
from IPython.display import display
import matplotlib.pyplot as plt
def read_csv_file():
# seabornライブラリのtipsデータセットを読み込む
df = sns.load_dataset('tips')
# データフレームを返す
return df
def plot_data(df, column_name):
# 指定された列のデータを取得
data = df[column_name]
# 箱ひげ図を描画
fig, ax = plt.subplots()
ax.boxplot(data)
ax.set_title(column_name)
plt.show()
def on_button_clicked(b):
# カラムを選択するセレクトボックスの値を取得
column_name = dropdown.value
# 指定されたカラムのデータをプロットする
plot_data(numeric_df, column_name)
# データフレームを読み込む
df = read_csv_file()
# 数値型のカラムだけを抽出したデータフレームを作成する
numeric_df = df.select_dtypes(include=['float64', 'int64'])
# カラムを選択するセレクトボックスを作成する
dropdown = widgets.Dropdown(options=list(numeric_df.columns))
# ボタンを作成する
button = widgets.Button(description='plot')
# ボタンがクリックされたらon_button_clicked関数を呼び出す
button.on_click(on_button_clicked)
# セレクトボックスとボタンを表示する
display(dropdown)
display(button)
ボタンもきちんと配置され
機能面も指定通りです
クリックすると描画も行われます
数値型の絞り込みもバッチリですが
クリックごとに描画が増えてしまうので
そこを消す指定をしてあげないと
クリックするたびに画像が増えてしまいます
プロンプトで指定していない機能は
実装されない様ですね
最後はWEBからデータを取得して
描画させる様にしました
以下の条件を満たすPythonコードを生成して下さい 前提条件: コードにはコメントを記載する Python 3.8を使用する グローバル変数の使用を避けて関数の引数を介して必要な変数を渡す データの作成はPandasライブラリを使用する 機能条件: 1.以下の要件を満たすコードを作成する 1-1.以下のWEBサイトからPandasライブラリを用いてデータを取得する 「https://finance.yahoo.co.jp/quote/998407.O/history」 1-2.取得したデータの1番目のデータをデータフレームとして読み込みする 1-3.Plotlyライブラリを用いて5列目のデータを折れ線グラフでプロットするWEBからのデータ取得は上手くいくのでしょうか?
出来上がったコードはこれ
import pandas as pd import plotly.express as px # Yahoo Financeからデータを取得 url = 'https://finance.yahoo.co.jp/quote/998407.O/history' df = pd.read_html(url)[0] # 1番目のデータを取得 df = df.iloc[[0]] # 5列目のデータを折れ線グラフでプロット fig = px.line(df, x='日付', y=df.columns[4]) fig.show()
データの取得は出来ましたが
描画の方が少しおかしいところが出てきました
表示されるラベルが違っていたり
データが足りなかったり
データの造り込みなどを指定する部分が
少し甘かった様です
このようにきちんとプロンプトを指定すれば
コードの方もきちんとしたものが返ってきます
コードの作成に時間がかかる様なものをつくりたければ
仕様をきちんと文字起こしすれば
上手く機能するコードに直す事が
一瞬で出来そうですね
プログラミング初心者が
どうコードを書いて良いかわからない場合に
お手本となるサンプルプログラムを
解説付きで生成出来たりもするので
これからはプロンプトプログラミングが
主流になっていくんじゃないかと思います
プログラム言語の知識に加えて
その周辺のプロンプト活用の知識も
必須になって来ますね
今回はプロンプトを活用して
ChatGPTでノーコードプログラミングを
試してみました
今日は
ここまでです
それでは

コメントする