‘Python’ タグのついている投稿

Jupyter Notebook 事始め

2020 年 11 月 16 日 月曜日 by egamit

こんにちは。

機械学習の分野でPythonがよく使われています。

今回、機械学習の分野でデータ分析のツールとしてよく名前が出てくるJupyter Notebookについての紹介です。

Jupyter Notebookは、ノートブックと呼ばれるファイル(.ipynb)にプログラムや説明の文章、実行結果を記録できるツールです。

システム開発で利用するEclipseなどのIDEと異なる点としては、「実行結果を記録する」という点で、例えば、以下のイメージのようにソースコードと実行結果をセットで記録できる(まさにノートブックのよう)ことができ、試行錯誤の結果をソースコードとともに他のメンバーに共有できる点だと思います。

 

以上、今回はJupyter Notebook 事始めということでまずは、Jupyter Notebookとはどういったものかということを説明いたしました。

Pythonの便利な構文-内包表記の紹介

2020 年 3 月 16 日 月曜日 by masy

今回はPythonの内包表記という構文を紹介します。

内包表記はリスト・辞書・集合等の生成を簡潔に記述するための構文で、
それぞれリスト内包表記・辞書内包表記・集合内包表記などと呼ばれます。
内包表記を上手に用いる事でコードの可読性を高める事ができます。

リスト内包表記

まずは内包表記を使用しない方法で、1~9の2乗の数値をリスト型で生成してみます。

data = []
for x in range(1, 10):
    data.append(x ** 2)

print(data)


>>>
[1, 4, 9, 16, 25, 36, 49, 64, 81]

これをリスト内包表記で書き直すと下記の通り簡潔に記述できます。

data = [x ** 2 for x in range(1, 10)]
print(data)

>>>
[1, 4, 9, 16, 25, 36, 49, 64, 81]

リスト内包表記にはif文を使う事もできます。
例えば、xが偶数の場合のみ取得対象とするには下記のように記述します。

data = [x ** 2 for x in range(1, 10) if x % 2 == 0]

その他の内包表記も使い方は同様なので、表記方法のみ紹介します。

辞書内包表記

{キー:値 for x in リスト等}

例)価格オブジェクトのリストから、価格IDと値の辞書を生成

{x.price_id: x.value for x in prices}

>>>
{'PRICE-0001': 100, 'PRICE-0002': 200, 'ITEM-0003': 300}

集合内包表記

{値 for x in リスト等}

例)契約オブジェクトのリストから、商品IDの集合を生成

{x.item_id for x in contracts}

>>>
{'ITEM-0001', 'ITEM-0002', 'ITEM-0004'}

ちなみに内包表記内のforやifは複数記述してネストさせる事も可能ですが、
可読性を損なうためそのような使い方はしないようにしましょう。
そのような場合は、内包表記を使わない方が可読性の高いコードになります。

これまで内包表記を知らなかったという方は、ぜひ上手に活用してみてください。

PythonのExcelライブラリ「openpyxl」の紹介

2019 年 10 月 7 日 月曜日 by masy

最近業務で使用した「openpyxl」というPythonライブラリを紹介します。

「openpyxl」はPython言語でExcelの読み書きを行うためのオープンソースのライブラリです。
現在も開発が続けられており、2019/09/25にバージョン3.0.0がリリースされています。

 

インストール方法

多くのPythonライブラリと同様にpipでインストールできます。

pip install openpyxl

 

既存のExcelファイルからデータを取得する例

簡単なサンプルとして、Excelファイルからデータを取得してファイルに書き出す例を見てみましょう。
このような単純なプログラムであれば数行のコードで実現できます。
(さらに…)