こんにちは!スタビジ編集部です!
AIやデータ分析、自動化などプログラミングスキルはどの業界でも欠かせないスキルになりつつあります。
その中でも”Python“は学習のしやすさと利便性から様々な場面で活躍できるプログラミング言語です。
そんなPythonをマスターしたいと思う人の中にはこんな悩みを持っている人がいます。
プログラミングは作りたいものや目指す目標があると勉強のモチベーションを保つことが出来ます。
そこで本記事では初心者がPythonで作れるものを解説していきます。
Pythonについて基礎から体系的に学びたい人は当メディアが運営する「スタアカ」の以下のコースをチェックしてみて下さい。
目次
初心者がPythonで出来ること
Pythonの概要を理解して、何が出来るかイメージをつかんでいきましょう。
Pythonとは
まず、Pythonとはどんな言語なのか簡単にみていきましょう!
Pythonとは1991年に開発され現在全世界で非常に幅広い人に使用されている言語です。
Pythonの特徴は大きく以下があります。
- 他のプログラミング言語と比べてコードがシンプルで分かりやすい
- データ処理、ウェブ開発、人工知能(AI)、自動化など、いろいろなことができる
- 開発者コミュニティが活発でライブラリやサポート情報が豊富
初心者にも学びやすく、プログラミング言語の人気ランキングでもここ一年間”1位“を独走しています。(2024年10月現在)
最初に学ぶプログラミング言語としても最適!
Pythonの学習方法は以下の記事で解説しているので参考にしてみて下さい。
初心者がPythonで出来ること一覧
「初心者がPythonを使って出来ること」は以下があります。
- 基本的な計算:Pythonを電卓のように使って、四則演算や簡単な数学計算が出来る
- 文字列・データ操作:テキストの結合、分割、置換などの基本的な文字列操作が出来る
- ファイルの読み書き:ファイルを読み込んだり、書き込んだりすることが出来る
- 簡単なゲーム作成:ファイルを読み込んだり、書き込んだりすることが出来る
- データの可視化:データをグラフやチャートで表示出来る
- Webスクレイピング:ウェブサイトからデータを取得出来る
- 簡単なGUIアプリの作成:ボタンやテキストボックスを持つ簡単なアプリを作成出来る
Pythonはわかりやすい文法で一般的なプログラミング操作が出来るだけでなく、豊富なライブラリやパッケージのおかげでいろんなことが出来ます。
特にPythonのライブラリはサポートや情報が充実しているので、初心者でも簡単に利用することが出来ます。
今回挙げたものはあくまで一例で他にもいろんなことが出来ます。
以下の記事でPythonで出来ることをサンプルコードを含めて解説しているので、参考にしてみて下さい。
初心者がPythonで作れるもの
初心者がPythonで作れるものを見ていきましょう。
今回は以下のものを紹介します。
- 計算ツール
- Excelグラフ作成ツール
- 株価データ分析ツール
本記事でのPythonの作業は「Jupyter Notebook」で行っています。
Jupyter NotebookはWebブラウザ上でPythonプログラムを書いて・実行出来る環境です。
プログラムの実行結果を毎回確認できるので初心者におすすめのツールになります。
Jupyter Notebookについて以下の記事で解説しているので、参考にしてみて下さい。
計算ツール
まずは電卓のような「計算ツール」の作り方を見ていきましょう。
作成に当たって必要なPythonのスキルは以下になります。
・ユーザーが入力した値を取得出来ること
・データ型を理解し基本的な算術演算子を利用できること
・if文による条件分岐が出来ること
では実装例を見ていきましょう。
# ユーザーから数値と演算子を入力してもらう
num1 = float(input("最初の数値を入力してください: "))
operator = input("演算子を入力してください (+, -, *, /): ")
num2 = float(input("次の数値を入力してください: "))
# 基本的な算術演算を実行
if operator == '+':
result = num1 + num2
print(f"結果: {num1} + {num2} = {result}")
elif operator == '-':
result = num1 - num2
print(f"結果: {num1} - {num2} = {result}")
elif operator == '*':
result = num1 * num2
print(f"結果: {num1} * {num2} = {result}")
elif operator == '/':
if num2 != 0:
result = num1 / num2
print(f"結果: {num1} / {num2} = {result}")
else:
print("エラー: 0で割ることはできません。")
else:
print("エラー: 無効な演算子です。")
ここでは、ユーザーが入力した数値と演算子を受け取るところでPythonのデータ入力の関数とデータの型変換を使用しています。
その後受け取ったデータを元に条件分岐を使用して、正しい演算方法を実行するプログラムになります。
実行結果を見ていきましょう。
計算ツールを作成することが出来ました!
Pythonの基本的な文法を学びたい方は以下のスタアカのコースがオススメです!
Excelグラフ作成ツール
Pythonを使って「ファイル操作してExcelグラフを作成」ツールを作っていきましょう。
作成に当たって必要なPythonのスキルは以下になります。
・モジュールを使ったディレクトリやファイルの情報を取得できること
・ライブラリを理解してExcelの操作が出来ること
・エラーハンドリングでファイル読み込み中のエラーを発見できること
では実装例を見ていきましょう。
import os
from openpyxl import load_workbook
from openpyxl.chart import LineChart, Reference
# 対象のファイルを指定
target_file = 'sample.xlsx'
# ディレクトリ取得
current_directory = os.getcwd()
# ファイルのフルパスを取得
file_path = os.path.join(current_directory, target_file)
try:
# Excelファイルを読み込む
wb = load_workbook(file_path)
# データが入っているシートを指定
data_sheet = wb['sales']
# データの範囲を取得(例としてA列とB列のデータを使用)
# 行数を取得
max_row = data_sheet.max_row
# 新しいシートを作成
chart_sheet = wb.create_sheet(title='Chart')
# グラフの作成
chart = LineChart()
chart.title = "データのグラフ"
chart.x_axis.title = data_sheet.cell(row=1, column=1).value
chart.y_axis.title = data_sheet.cell(row=1, column=2).value
# データの参照範囲を指定
data = Reference(data_sheet, min_col=2, min_row=1, max_row=max_row)
cats = Reference(data_sheet, min_col=1, min_row=2, max_row=max_row)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
# グラフをシートに追加
chart_sheet.add_chart(chart, "A1")
# Excelファイルを上書き保存
wb.save(file_path)
print(f"{target_file} にグラフを追加しました。")
except Exception as e:
print(f"{target_file} の処理中にエラーが発生しました: {e}")
サンプルで使用するエクセルファイルは、Pythonファイルと同じディレクトリに作成します。
Pythonでは必要なライブラリをインポートすることで、そのプログラム内でライブラリを利用できるようになります。
import os
from openpyxl import load_workbook
from openpyxl.chart import LineChart, Reference
Pythonでは様々なライブラリが用意されているので、各ライブラリのドキュメントを見て使い方を把握することが大切です。
# 対象のファイルを指定
target_file = 'sample.xlsx'
# ディレクトリ取得
current_directory = os.getcwd()
# ファイルのフルパスを取得
file_path = os.path.join(current_directory, target_file)
Pythonではファイルやディレクトリの操作などに”osモジュール“を用いて行うことが多いです。
try:
# Excelファイルを読み込む
wb = load_workbook(file_path)
# データが入っているシートを指定
data_sheet = wb['sales']
# データの範囲を取得(例としてA列とB列のデータを使用)
# 行数を取得
max_row = data_sheet.max_row
# 新しいシートを作成
chart_sheet = wb.create_sheet(title='Chart')
# グラフの作成
chart = LineChart()
chart.title = "データのグラフ"
chart.x_axis.title = data_sheet.cell(row=1, column=1).value
chart.y_axis.title = data_sheet.cell(row=1, column=2).value
# データの参照範囲を指定
data = Reference(data_sheet, min_col=2, min_row=1, max_row=max_row)
cats = Reference(data_sheet, min_col=1, min_row=2, max_row=max_row)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
# グラフをシートに追加
chart_sheet.add_chart(chart, "A1")
# Excelファイルを上書き保存
wb.save(file_path)
print(f"{target_file} にグラフを追加しました。")
except Exception as e:
print(f"{target_file} の処理中にエラーが発生しました: {e}")
PythonでのExcel操作は、”openpyxl“というライブラリを使うことで出来るようになります。
実際に実行してデータの取得からグラフの作成をした結果が下記になります。
Pythonでのファイル操作をマスターすれば作業の自動化も見えてくる!
また、自動化の際は”try/except文”の例外処理を実装することが多いので、使い方を覚えておくと便利です。
以下は指定するシート名を間違えた場合の出力結果になります。
Pythonでエクセルを操作する方法は以下の記事で詳しく解説しているので、参考にしてみて下さい。
株価データ分析ツール
ここではPythonを使って「ファイル操作してExcelグラフを作成」ツールを作ります。
作成に当たって必要なPythonのスキルは以下になります。
・APIを使って外部データを取得できること
・DataFrameを理解して、任意のデータを抽出出来ること
・取得したデータを描画できること
では、実装例を見ていきましょう。
import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 使用したいフォントを設定
plt.rcParams['font.family'] = 'Meiryo'
# ユーザーから銘柄コードを入力してもらう(例:トヨタ自動車の場合は '7203.T')
ticker_symbol = input("株式のティッカーシンボルを入力してください(例:7203.T): ")
# データ取得期間を指定
start_date = input("開始日を入力してください(YYYY-MM-DD形式、例:2023-01-01): ")
end_date = input("終了日を入力してください(YYYY-MM-DD形式、例:2023-12-31): ")
# データを取得
stock_data = yf.download(ticker_symbol, start=start_date, end=end_date)
if stock_data.empty:
print("指定した期間のデータが見つかりませんでした。")
else:
# 日付を datetime 型に変換(インデックスがすでに datetime 型であればスキップ)
stock_data.index = pd.to_datetime(stock_data.index)
# 移動平均線の計算(7日移動平均)
stock_data['7_MA'] = stock_data['Close'].rolling(window=7).mean()
# 終値と移動平均線をプロット
plt.figure(figsize=(12, 6))
plt.plot(stock_data.index, stock_data['Close'], label='終値')
plt.plot(stock_data.index, stock_data['7_MA'], label='7日移動平均', linestyle='--')
plt.title(f"{ticker_symbol} の株価推移")
plt.xlabel("日付")
plt.ylabel("株価(円)")
plt.legend()
plt.grid()
plt.show()
print(stock_data.head())
株価データは「yfinance」というライブラリで「Yahoo! Finance’s API」というAPIを実行して取得できます。
APIを使ってデータを取得することはアプリ開発やデータ分析で解く行うため、あるAPIを実行するとどんなデータが取得できるか調べ方をマスターしましょう。
PythonでAPIを利用する方法は以下の記事を参考にしてみて下さい。
取得されたデータは以下のような「DataFrame」の形で返してくれます。
「DataFrame」の構造を理解できると、必要なデータを抽出できるので、以下の記事を参考に習得していきましょう。
グラフの作成等データの可視化には「matplotlib」というライブラリを使うことがPythonでは多いです。
実際に実行結果を見てみると株価の遷移がきれいなグラフとして作成できています。
matplotの使い方は以下の記事で詳しく解説しているので、参考にしてみて下さい。
Pythonで株の分析について、以下の記事でより詳しく解説しているのでチェックしてみて下さい。
初心者がPythonで作れるもの まとめ
初心者がPythonで作れるものについて3つ紹介しました。
Pythonで出来ることをおさらいすると以下になります。
- 基本的な計算:Pythonを電卓のように使って、四則演算や簡単な数学計算が出来る
- 文字列・データ操作:テキストの結合、分割、置換などの基本的な文字列操作が出来る
- ファイルの読み書き:ファイルを読み込んだり、書き込んだりすることが出来る
- 簡単なゲーム作成:ファイルを読み込んだり、書き込んだりすることが出来る
- データの可視化:データをグラフやチャートで表示出来る
- Webスクレイピング:ウェブサイトからデータを取得出来る
- 簡単なGUIアプリの作成:ボタンやテキストボックスを持つ簡単なアプリを作成出来る
スタビジでは今回紹介できなかった以外もPythonで作れるものを紹介しています!
また、初心者だけど本格的にPythonでアプリ開発をやってみたい方は、当メディアが運営する教育サービス「スタアカ(スタビジアカデミー)」を以下の講座チェックしてみてください。
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組み合わせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解なども合わせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ