Python

pytest で monkeypatch を利用する

pytest で monkeypatch する方法を確認します。 下記は公式サイトの紹介ページ。 How to monkeypatch/mock modules and environments リファレンス。 monkeypatch 環境 Python 3.9.13 pytest 7.1.2 Python と pytest 周りで mock する方法について pytest の…

Python の queue 関連のライブラリを確認する

Python の標準モジュールで用意されている queue 関連のライブラリについて確認します。 環境 Python 3.9.13 queue 関連のライブラリ 以下があります。 種類 queue モジュール その他モジュール キュー queue.Queue collections.deque スタック queue.LifoQu…

Poetry に入門する

公式ドキュメントを参考に、基本的な部分を確認します。 https://python-poetry.org/ 環境 Ubuntu 20.04.4 LTS Python 3.8.10 Poetry 1.1.13 Poetry のインストール $ curl -sSL https://install.python-poetry.org | python3 - $ echo 'export PATH="/home/…

Pythonのunittestの使い方を確認

Pythonのunittestの使い方を確認します。 環境 Python 3.8.5 サンプルプログラム 公式ドキュメントを参考。 unittest --- ユニットテストフレームワーク テスト対象のプログラム テスト対象とするコードを記述。 hololive.py class HololiveMember(): def __…

csvファイルをparquetファイルに変換する

pandasとApache Arrowを利用して、ローカル環境でcsvファイルをparquetファイルに変換する方法を記載します。ファイルサイズの小さいものであれば、今回の方法で対応できます。 そもそもparquetとは、 Apache Parquet is a columnar storage format availabl…

AWS EC2 に Python 3.6.5 と Pandas をインストールする

題名の通りです。 Amazon Linuxにデフォルトで入っているPythonは、2系のかなり古いものなので、3系の新し目のPythonを入れて、併せてpndasも入れます。 Amazon Linux用yumのリポジトリに Python 3.6.5 がいるので、それを引っ張ってくればいいようです。昔…

"Getting Started with AWS and Python"をboto3で試す その2

前回の続きです。今回はSQSを操作するぞ。 "Getting Started with AWS and Python"をboto3で試す その1 - goodbyegangsterのブログ fifoのqueueを作成するため、NorthVirginaリージョンで作業します。 > import boto3 > sqs = boto3.resource('sqs', region…

"Getting Started with AWS and Python"をboto3で試す その1

AWS SDKを触ったことがなかったので、Python向けのSDKであるbotoをAWSのサイトにあるtutorialを参考に試してみます。botoはバージョンアップされており、現行の最新バージョンはboto3となっているので、その点を考慮しつつ勉強。 tutorialのページはこちら。…

リモートのMySQLからデータをpandasに取ってくる

リモートサーバ上のMySQLからデータを引っ張ってきて、pandasで処理したかったのです。環境は以下です。 python 3.5.2 pandas 0.19.2 rdbからデータ取得するための関数が、pandasには用意されています。「pandas.read_sql_query」は、実行したSQL結果をデー…

CentOS7.2のpyenv上python3.5.2環境でtkinterを利用する方法

pandasからグラフを表示させようとしたところ、ちょっと躓いたのでそのメモです。環境は件名のものです。 plot関数を呼び出したところ、'_tkinter'がないよと怒られました。 >>> import pandas as pd >>> import numpy as np >>> import matplotlib.pyplot a…

pandasで移動平均乖離率を求める

以下の前回の続きです。 csvファイルをpandasに取り込む - goodbyegangsterのブログ 取り込んだドル円日足データをもとに、25日単純移動平均の乖離率を求めたいと思います。pandasけっこう便利なんで驚きました。 初めに、csvファイルをpandasに取り込みま…

csvファイルをpandasに取り込む

分析したいcsvデータをpandasに取り込んでみます。 例として、ドル円の日足データを取り込みます。実際のデータは以下で、m2jのサイトからダウンロードしてきました。 日付,始値,高値,安値,終値 2016/01/04,120.21,120.44,118.69,119.43 2016/01/05,119.33,1…

pandasを触ってみる

株価や為替のデータをあーだこーだいろいろ分析したいぞ、ということでpandasを触ってみます。 公式サイトで「10 Minutes to pandas」とnew user向けのintroductionがあるのですが、出てくる用語がそもそもよく分からない。 10 Minutes to pandas — pandas 0…

並列でWEBスクレイピングする方法

四季報データをWEBスクレイピングするスクリプトを作成したのですが、取得に約1日かかった。。。 証券コードを1000から9999までの連番で1件ずつ総当りして、四季報の情報あれば取得する処理を書いているのですが、 直列で実行して、1件あたり10秒くらい…

PyQuery を使ってみる

前回の続き。 PhantomJS + selenium を使ってみる - goodbyegangsterのブログ 取得したhtmlソースを解析する方法として、PyQueryかBeautifulSoupを利用する方法があるようです。ネット上でのコメントを読む限り、どっち使っても結局変わらないよ。ただし、Py…

PhantomJS + selenium を使ってみる

四季報の文章を検索できたり、ネガポジ分析できたりしたら便利だなと思い、 おそらく四季報CD-ROMや有料版四季報オンラインであれば可能なのでしょうが、 そのためだけにお金払うの嫌だし、 証券会社に口座を作ると無料で四季報を見られるのを利用して、 自…

pyenv + virtualenv を使ってみる

Pythonでちょっとした処理を書いてみようと思い、 CentOSに標準で入っているPythonを調べたところ、バージョンは「2.7.5」でした。 (CentOSのバージョンは7.2.1511) せっかくなので3系を使ってみたいなと、 バージョンアップの方法を調べていたら、「pyenv…