新型コロナ発生から1年が過ぎようとしていますね。武田です。

Pythonでもグラフ表示が簡単にできます。
今回はmatplotlibというグラフ表示が簡単にできるモジュールを紹介します。

上に表示されている棒グラフもこのモジュールを使って描きました。
ここ1週間の茨城県での新型コロナウイルス感染者数のグラフです。

データは茨城県の公式ページにあるこちらを参考にさせて頂きました。

matplotlibはPythonを標準インストールした状態では使えませんので、以下のようにコマンドラインからpipを使ってインストールします。

pip install matplotlib

プログラム matplotlib_covid19.py

# matplotlibライブラリを使ってグラフを作成する

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.use("Agg")

# x軸とy軸のデータ
x = ["1/8", "1/9", "1/10", "1/11", "1/12", "1/13", "1/14"]
y = [127, 109, 84, 67, 70, 77, 104]

# グラフタイトル
plt.title("COVID-19@Ibaraki")

# y軸の表示範囲
plt.ylim(0, 150)

# グラフを描画
plt.bar(x, y, color="green")

# 描画したグラフを画像に保存
plt.savefig("mapplot_graph_sample.png")

もちろんmatplotlibは、棒グラフ以外も描画できます。19行目のplt.barの部分をplt.plotとすれば折れ線グラフになります。

できればこのグラフが0に近づいていくことを願います!

参考URL

https://www.pref.ibaraki.jp/1saigai/2019-ncov/ichiran.html

https://techacademy.jp/magazine/19316

https://obgynai.com/matplotlib/

https://qiita.com/kakiuchis/items/798c00f54c9151ab2e8b

6月18日(木)より通常授業に戻りました。
当学院生もリズムがとれない中よく頑張っています。武田です。

今年わたしの担当はC言語からPythonに変わりました。
C言語も最初に学ぶプログラミング言語としてはいい言語だと思っています。理由は他のプログラミング言語の文法に大きく影響を与えているので、別の言語を勉強した際、割とすんなりとは入れるからです。ただしコンパイルが必要だったりコード量が新しい言語より長くなりがちなので、初心者は辛いかもしれません。

Pythonはその点では、初心者にやさしいかもしれません。
記述はC言語より少なくて済みますし、サードパーティ製のライブラリをインストールすると色々と面白いことが簡単に出来るイメージがあります。QRコードを作る、画像処理をする、人工知能を扱う…等。

C言語ではできなかったことに今年はPythonの授業で挑戦してみようかと思っています。

Pythonコード例(QRコードを作る)

# -*- coding: utf-8 -*-
import qrcode
file_name = "qr_code.png"
qr_string = "そのやり方は、色々ある"
img = qrcode.make(qr_string)
img.save(file_name)
print("QRコード画像を保存しました")

簡単!Pythonで円相場を取得

インフルエンザが流行っていますが、プログラミングの世界ではPythonが流行りですね。武田です。

当学院では学生の記入する日誌に円相場記入欄があります。
今日はPythonを使ってYahoo!のサイトから円相場を取得して表示するプログラムを作ってみます。

と、言っても以下の短いプログラムです。

# -*- coding: utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup			# BeautifulSoup4をインポート

# Yahooの円相場表示URL
url = "https://info.finance.yahoo.co.jp/fx/detail/?code=usdjpy"

# サイトからデータ取得
data = urllib.request.urlopen(url)

# HTMLをプログラムから扱えるように変換
soup = BeautifulSoup(data, 'html.parser')

# 特定のタグのデータを抽出(ddタグのidがUSDJPY_detail_bidの部分)
usdjpy = soup.find("dd", id="USDJPY_detail_bid")

# テキスト部分のみ表示
print("1ドル = {0}円".format(usdjpy.text) )

実行結果はこんな感じです。(Windowsのコマンドプロンプトで実行)

簡単!Pythonで円相場を取得

スクレイピングによく利用されるbeautifulsoup4を使っています。
ちなみにスクレイピングとは、Webサイトから必要な情報だけ抽出するソフトウエア技術のことです。

Pythonをインストールしてもbeautifulsoup4は標準でインストールされませんので、Pythonをインストール後、ターミナルから、

pip install beautifulsoup4

を実行してbeautifulsoup4をインストールしてください。

今回円相場情報を知るために利用したサイトは以下のサイトです。

米ドル/円 – FXレート・チャート – Yahoo!ファイナンス

このサイトは、こんな感じで表示されます。

簡単!Pythonで円相場を取得

赤丸の部分が取得したい円相場です。ここからどうやって必要な情報を抜き出すかと言うと、まずはCtrl + UキーでこのサイトのHTMLソースコードを表示させます。
ここからは自分で探し出すしかないのですが、わたしが見たところddタグのidがUSDJPY_detail_bidの部分が該当する円相場でした。このように取得したいデータが特定できるようならスクレイピングは簡単です。

簡単!Pythonで円相場を取得

プログラムでは以下の部分がデータを抽出している部分です。

# 特定のタグのデータを抽出(ddタグのidがUSDJPY_detail_bidの部分)
usdjpy = soup.find("dd", id="USDJPY_detail_bid")

ddタグ、とid名称USDJPY_detail_bidが指定されているのが分かるでしょうか。

こうやって自分で探し出すのは、隠された財宝をみつけるとまでは言いませんがけっこう面白いものです。
以上、PythonでYahoo!のサイトから円相場を取得して表示するプログラムでした。
Python面白いですよ!

3月の雨は冷たいですね。
武田です。

Python(プログラミング言語)を少勉強しているときに、内包表記というものを知りました。
C言語と比較すると違いが際立ちます。
使いようによっては簡潔に記述できかつ便利な表記方法ですのでちょっと紹介します。

続きを読む