2023年3月20日月曜日

Pythonでグラフ作成その2

閲覧、感謝です。

Pythonでのグラフ作成第2段です。

東京の日降水量最大(通年)第6位(2004/10/09)の観測値を取り扱います。

観測史上1~10位の値(年間を通じての値)(東京)
https://www.data.jma.go.jp/obd/stats/etrn/view/rank_s.php?prec_no=44&block_no=47662&year=&month=&day=&view=

Jupyter Notebooksを使用します。


import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np

url = 'https://www.data.jma.go.jp/obd/stats/etrn/view/hourly_s1.php?prec_no=44&block_no=47662&year=2004&month=10&day=9&view='

df = pd.read_html(url, encoding='utf-8')[0]


df.replace('--', 0.0, inplace=True)

df.to_csv('44132tokyo_hourly.csv',encoding='utf-8-sig', index=False)

df = pd.read_csv('44132tokyo_hourly.csv')

df = df.drop(0, axis=0)
df.to_csv('44132tokyo_hourly.csv',encoding='utf-8-sig', index=False)


df = pd.read_csv('44132tokyo_hourly.csv')

data = pd.read_csv('44132tokyo_hourly.csv',encoding='utf-8-sig', index_col='時')

x = data.index
rain = data['降水量(mm)']
temp = data['気温(℃)']


fig, ax1 = plt.subplots()
ax1.bar(x, rain,color='blue')
ax1.set_ylim(0,100)
ax1.set_yticks([0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100], ['0.0', '10.0', '20.0', '30.0', '40.0', '50.0', '60.0', '70.0', '80.0', '90.0', '100.0'])
ax1.set_xlim(0.25,24.75)
ax1.set_xticks([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24'])
ax2 = ax1.twinx()
ax2.plot(x, temp,color='green')
ax2.set_ylim(-10,40)
ax2.set_yticks([-10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40], ['-10.0', '-5.0', '0.0', '5.0', '10.0', '15.0', '20.0', '25.0', '30.0', '35.0', '40.0'])
plt.grid(axis="y")


Excel(&Power Point)で作ったグラフは以下です。


Pythonでの風向風速の作成の仕方が全く判りません。

個人的な感想としては、
感覚的に作成できるExcelは優秀で、
Pythonでグラフを作成する必要はあるのかな、
ということです。

2023年3月17日金曜日

PythonでWebスクレイピング

ご閲覧、ありがとうございます。

PythonでWebスクレイピングをします。

私が計画しているのは、
気象庁HPの過去の観測値を入手することです。

例として2023年01月01日の
東京の1時間ごとの観測値のスクレイピングをします。


https://www.data.jma.go.jp/obd/stats/etrn/view/hourly_s1.php?prec_no=44&block_no=47662&year=2023&month=1&day=1&view=

Pandasを使うとできるそうなので、
私の環境でインストールされているかを確認します。


ターミナルに『pip list』と入力します。


『pandas』はあります。

以下をJupyter Notebooksに入力します。


import pandas as pd


url = 'https://www.data.jma.go.jp/obd/stats/etrn/view/hourly_s1.php?prec_no=44&block_no=47662&year=2023&month=1&day=1&view='


df = pd.read_html(url)[0]
print(df)


df.to_csv('44132tokyo_hourly.csv')


CSVを見ると日本語が文字化けしています。

解消するにはCSV出力をする際に、
『encoding='utf-8-sig'』とすると良いとのことです。


df.to_csv('44132tokyo_hourly.csv', encoding='utf-8-sig')


問題なく日本語表記されました。

降水量が『--』や、
1列目に不要な情報が入っているなど、
気になるところはありますが、
とりあえず良しとします。

■追記■

以下で解決しました。


import pandas as pd


url = 'https://www.data.jma.go.jp/obd/stats/etrn/view/hourly_s1.php?prec_no=44&block_no=47662&year=2023&month=1&day=1&view='


df = pd.read_html(url, encoding='utf-8')[0]


df.replace('--', 0.0, inplace=True)



df.to_csv('44132tokyo_hourly.csv', encoding='utf-8-sig', index=False)

2023年3月11日土曜日

Pythonでグラフ作成

閲覧、感謝です。

Pythonでグラフを作成します。

Jupyter Notebooksを使用します。


『その他』を選択します。


『Jupyter Notebooksを使ってみる』を選択します。

import matplotlib.pyplot as plt
height = [9.0, 6.0, 18.0, 18.0, 32.0, 40.0, 45.0, 39.5, 51.5, 53.5, 74.5, 58.5, 78.5, 72.5, 47.0, 53.0, 44.5, 52.5, 76.5, 48.5, 3.0, 1.0, 0.0, 0.0]
labels = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24']
plt.bar(labels, height, color="skyblue")

を入力するとグラフが作成されます。



赤い四角で囲った枠に上記を1行ずつ入力します。


『▷』を選択します。

成功すると秒数が表示されるようです。


『+コード』を選択します。



新しく表示された四角に上記の2行目を入力し『▷』を選択した後、
『+コード』を押下します。


あとは上記の4行目まで同じ作業です。


作成されたグラフです。

ちなみに、入力した値は2019年10月12日の箱根の降水量で、
私がExcel(&Power Point)で作ったグラフは以下になります。



Pythonのグラフ作成は、
まだ研究の余地がありそうです。

Visual Studio CodeでJupyter Notebooksを使うには

ご閲覧、ありがとうございます。

Visual Studio CodeでJupyter Notebooksを使う環境構築です。


『Jupyter Notebooksを使って…』
と表示されていたので選択します。


全てレ点青〇になるようにして、 『完了のマーク』を選択します。


何も変化が起こりませんでした。


『その他』を選択します。


『Jupyter Notebooksを使ってみる』を選択します。


『新しいJupyter ノートブックの作成』を選択します。


使えるようになったようです。

実際に使ってみます。


表示が小さいので、
左側の『ようこそ』は『×』で消しました。


『print("Jupyter")』と入力し実行します。


『すべてを実行』を選択します。


『Python 環境…』を選択します。


『base(Python 3.9.13)を選択しました。(おすすめとあったため)


できたっぽいです。

2023年3月5日日曜日

Visual Studio CodeでPythonを使うには

閲覧、感謝です。

Visual Studio CodeでPythonを使う環境構築です。


VSCodeの『拡張機能』を選択します。



検索欄に『python』と入力し、
『Python extension for Visual Studio Code』をインストールします。


インストールされると表示が変わります。



左のPythonのチェック欄を全てレ点青〇になるようにして、
『完了のマーク』を選択します。

UbuntuとAnacondaをアップデートします。

Ubuntuのアップデート
ターミナルに『sudo apt update && sudo apt upgrade』を入力


パスワードの入力を促されます。
(パスワードはターミナルに表示されませんが問題ないです)


Anacondaのアップデート
ターミナルに『conda update -n base conda』を入力

Pythonを使ってみます。


『フォルダマーク』を選択し、
表示された欄に『Python』と入力します。


『Python』フォルダが作成されました。


『フォルダーを開く』選択します。


『yasube873』を選択します。


『Python』を選択します。


『OK』を選択します。


『フォルダマーク』を選択し、
表示された欄に『test』と入力します。


『フォルダーを開く』選択します。


『test』を選択します。


『OK』を選択します。


『新しいファイル』を選択します。


『Pythonファイル』を選択します。


『print("test")』と入力し、
右クリック後に表示される『ターミナルでPythonファイルを実行する』を選択します。


ファイル保存を促されます。

ファイル名を『test.py』として『OK』を選択します。


できたっぽいです。