Python: Pythonで表計算, grid studio

I.何を学ぶ

 

Pythonで表計算ができるGrid Studioのインストール方と簡単な使い方を学びます。

解説は次です。

 

Say Goodbye to Excel? A Simple Evaluation of Python Grid Studio Using COVID-19 Data

 

表計算は小さなデータで簡単な集計には便利です。

表計算の機能をプログラムと統合しする場合、表計算にプログラムを付加するか、プログラムに表計算の機能を付加するかどちらかですが、今回紹介するGrid Studioは後者です。

表計算は簡単な計算機能があればよく、高度な集計は式で書けばよいです。

集計結果をシートに表示できる、逆に、セルを選んで式を書けると便利です。

Grid Studioは現在Alpha版で完成品ではないですが、現在どのような機能を備えているか使ってみます。

次は、日本の4月15日までのCOVID-19のデータを表に読み込み、直近50日の累積感染者数をグラフにしたところです。

 

 

II.Grid Studioのインストール

 

1.Docker Desktopのインストール

 

次のOSにあったものを選びダウンロードし、通常の手順にしたがってインストールします。

 

Docker Desktop

 

Dockerについては、Wikipediaでは次のように解説されています。

 

Docker(ドッカー[2])はコンテナ仮想化を用いてアプリケーションを開発・配置・実行するためのオープンソースソフトウェアあるいはオープンプラットフォームである。

Dockerはコンテナ仮想化を用いたOSレベルの仮想化(英語版)によりアプリケーションを開発・実行環境から隔離し、アプリケーションの素早い提供を可能にする。かつその環境自体をアプリケーションと同じようにコード(イメージ)として管理可能にする[4]。Dockerを開発・テスト・デプロイに用いることで「コードを書く」と「コードが製品として実行される」間の時間的ギャップを大きく短縮できる。

 

2.Web UIを開く

 

2_1.ターミナルでgithubをクローン

 

次をコピーし、ターミナル(コマンド・プロンプト)を開けて、貼り付けてreturn(Enter)を押します。

ターミナルを初めてだと「緊張」するかもしれませんが、式が間違っていればエラーになるだけです。システムが壊れたりはしません。また、途中でやめてXで終了しても問題ありません。

 

git clone https://github.com/ricklamers/gridstudio 

 

2−2.ディレクトリの移動

 

cdは、change directoriesの意味ですが、特に気にせず上と同じく実行してください。

 

cd gridstudio && ./run.sh 

 

3_3.ブラウザで開く

 

Google ChromeやSafariなどで次のURLを開きます。

 

http://localhost:8080/

 

上を開くとシートが表示されるはずですが、開かない場合は、ページに表示されたエラーコメントを読んで対応してください。セキュリティの設定を変更する必要があるかもしれません。

 

III.使用法

 

画面の右上のエディタに次の式を書き、実行します。

 

# データをダウンロード
df = pd.read_csv("https://opendata.ecdc.europa.eu/covid19/casedistribution/csv").dropna()
# 初めの6行を下のPythonOutに表示
print(df.head())
# 日時を数に変換。Date timeに未対応
df.dateRep = pd.to_datetime(df.dateRep, format='%d/%m/%Y').dt.strftime('%Y%m%d').astype(int)
# 日本の列を選びだす
df_jp = df[df.countriesAndTerritories == 'Japan']
print(df_jp)
# 日付とcasesとdeathsの列を選び出す
df_jp = df_jp[['dateRep', 'cases', 'deaths']]
print(df_jp)
# 日付列を照準に並べて累積を算出
df_jp = df_jp.sort_values('dateRep')
df_jp['cumCases'] = df_jp.cases.cumsum()
df_jp['cumDeaths'] = df_jp.deaths.cumsum()
# spread sheetに表示する
sheet("A1", df_jp.tail(50))
# spread sheetの列を選びグラフを作成
data = sheet("D1:D50")
data.plot()
data.plot(title='Infected in Tokyo')
show()
 

 

 

日本の直近の50日の累積感染者数のグラフを描くことができました。

改善されると思いますが、現在のところ日付列をdatetime形式にできないので、x軸は日付ではなく行数になります。

また、デフォルトのシートは100行です。これを変更するにはスクリプトを修正しなければなりません。もちろん、正式版ではではこれも修正されるでしょう。

シートは削除やコピーができますし、制限はあるのでしょうが、一般的な関数は使用できるようです。数百行の小さなデータで、簡単な関数を使うのには大変便利だと思います。

正式版が公開されれば使ってこのブログで報告します。

 

About shibatau

I was born and grown up in Kyoto. I studied western philosophy at the University and specialized in analytic philosophy, especially Ludwig Wittgenstein at the postgraduate school. I'm interested in new technology, especially machine learning and have been learning R language for two years and began to learn Python last summer. Listening toParamore, Sia, Amazarashi and MIyuki Nakajima. Favorite movies I've recently seen: "FREEHELD". Favorite actors and actresses: Anthony Hopkins, Denzel Washington, Ellen Page, Meryl Streep, Mia Wasikowska and Robert DeNiro. Favorite books: Fyodor Mikhailovich Dostoyevsky, "The Karamazov Brothers", Shinran, "Lamentations of Divergences". Favorite phrase: Salvation by Faith. Twitter: @shibatau

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.