Python関連のことを調べてみた2020年01月04日

Python関連のことを調べてみた2020年01月04日

AtCoder Beginner Contest 065 過去問復習

初めて解いた過去問

#所要時間
スクリーンショット 2020-01-04 8.38.16.png

#[A問題](https://atcoder.jp/contests/abc065/tasks/abc065_a)

“`python:answerA.py
x,a,b=map(int,input().split())
if b<=a: print("delicious") elif b<=a+x: print("safe") else: print("dangerous") ``` 三項演算子使うと ```python:answerA_better.py x,a,b=map(int,input().split()) print("delicious" if b<=a else ("sa

元記事を表示

Pythonで、書籍「テスト駆動開発」の第I部「多国通貨」を体験してみる

書籍「[テスト駆動開発](https://honto.jp/netstore/pd-book_28393266.html)」の**第I部「多国通貨」**で取り上げられている実例は、JAVAベースのため、自分の理解を深めるためにも、Pythonで同等のプラクティスに挑んでみました。

ちなみに、テスト駆動開発プラクティスのコードは、以下のGithubに保管しています。
https://github.com/ttsubo/study_of_test_driven_development/tree/master/python

# ■ テスト駆動開発の進め方
書籍「[テスト駆動開発](https://honto.jp/netstore/pd-book_28393266.html)」で提唱しているテスト駆動開発の進め方は、次の通りです。

元記事を表示

pythonで株を分析する

#要望
– [ ] python matplotlib 株価の前年比をグラフ表示したい。
– [ ] python matplotlib ローソク足非表示機能を作って移動平均線を強調し、トレンドの可視化を強めたい。
– [ ] visual studioでzip化、
– [ ] python matplotlib グラフを再描画
– [ ] 毎日PPPを探索、QuantXでゾーンを自動表示
– [ ] python matplotlib上で建玉操作練習できるようにする
– [ ] pythonでQuantX的バックテスト、まず下半身シグナルを捉える、高値警戒圏を捉える、ボラティリティ計算、日柄値幅計算
– [ ] pythonでログみたいに建玉操作したタイミングの自分の投資戦略を表示、記録する
– [ ] 10分足のデータを集めて、日中株価変動を見る。変動タイミングがわかる。寄りでつけた株価が引けでどう変動してるか。AM9:30までに形成した安値高値圏をAM:11:30で脱している率。

元記事を表示

チャートギャラリー Visual Basic

#チャートギャラリーから株価データを取得する。
チャートギャラリーは素晴らしい株価分析ツール。
でもちょっと独自の分析をpythonを使ってしたいといったときに自由度がないので、手軽に使えるようにCSVにデータを抽出する。

#チャートギャラリーからデータを取得する理由
株価データを探しているが中々ネットに転がってないので、有料だがデータが整っているチャートギャラリーからデータを取得する。

#チャートギャラリーからデータを抽出する方法
チャートギャラリーは**ActiveMarket.Prices**を利用してVBAなんかで簡単にデータアクセスできるようになっている。Microsoft製品なら何でもいいようだが、今回はexe化してタスクスケジューラーで自動実行させたいので、Visual Basicを利用する。
VisualStudio2019 communityでは対応していないみたいなので、**VisualStudio2017 community**で開発する。

##実際のコード
株価データを所定のフォルダに、証券コード毎のCSVファイルを作成している。

“`vb
Modul

元記事を表示

scikits.audiolabのインストール[Python]

ハマったので自分用にメモ。
## scikits.audiolab
MATLABライクな記法でwavの読み書きが可能なPythonモジュール。
[scikits.audiolab · PyPI](https://pypi.org/project/scikits.audiolab)
## 環境
– OS: macOS Mojave 10.14.6
– Python: 2.7.17

以下は先にインストールしておく

– Homebrew
– pip(Python)

## 手順

1. libsndfileとPySoundFileのインストール

scikits.audiolabはlibsndfileのラッパーになっているので、libsndfileがないとインストールできません。

~~~ Terminal
$ brew install libsndfile
$ pip install PySoundFile
~~~

1. scikits.audiolabのインストール

~~~
$ pip install scikits.audiolab
~~~

以上です?

## 参考

[P

元記事を表示

sklearnに見る、pythonでのクラス継承 実践編

# はじめに
Pythonでクラス継承をどう書くのか?について実践編を書きます。
なお基礎編はありません。

## いつ重要?

ソフトウェア、大規模ライブラリを作る際に有用と思われます。今回はみんな大好き scikit-learn の`TransformerMixin`を例に見ていきます。`TransformerMixin`とは、scikit-learnの随所で利用されているクラスです。scikit-learnでは前処理などで`fit`と`transform`を使うことが多く、それらをまとめて行う`fit_transform`が`TransformerMixin`に実装されています。

この機構により、を継承するだけで`fit_transform`が利用できるようになる、という非常にシンプルな例です。

参考までに、通常pythonでは`abc.ABCMeta`を継承した抽象クラスの実装が行われます。Pythonで常備されているパッケージにabcというものがあり、抽象クラスの定義に利用されます。

[abc — Abstract Base Classes](https://docs.

元記事を表示

Python でシンプルに OAuth 2 する (urllib + oauthlib)

Python から OAuth 2 な API を利用する際に、`urllib` + `oauthlib` を使った場合の具体的なやり方がググっても出てこなかったので、自分でやってみた。

今回は例として [Netatmo API](https://dev.netatmo.com/apidocumentation/oauth) について記述しているが、OAuth 2 に対応した API であればやり方はほとんど変わらないはず。

## なぜ urllib + oauthlib か
`urllib` は HTTP リクエストを送るライブラリとしてよくまとまっていて、`oauthlib` は OAuth に関する処理を行うライブラリとしてよくまとまっていて、Python で OAuth 2 クライアントを扱うならこの2つを組み合わせるのが最もシンプルだと思ったから。

ただし Simple ≠ Easy なので、Easy を求める人は [Requests-OAuthlib](https://requests-oauthlib.readthedocs.io/en/latest/index.h

元記事を表示

pythonでMongoDB入門するときの設定

データ解析用によく使われているデータベースMongoDBの設定方法を記録しています。

# ダウンロード

ダウンロードリンク → https://www.mongodb.com/download-center/community

# インストールの設定
パスの設定は `C:\mongodb` に設定(`C:\Program Files` ではない)

インストールは `Complete`ではなく `Custom` に設定、`Cドライブ`の下に新しいフォルダーを作る。↓
[![Image from Gyazo](https://i.gyazo.com/8f63c07e1db35f02941a00c343ff0c7d.png)](https://gyazo.com/8f63c07e1db35f02941a00c343ff0c7d)

インストールは約5分かかる。

インストールができたら、`C:\mongodb\data`フォルダーを作っておいてください。

# サーバーを起動する方法

`cd C:\mongodb\bin` でダイレクトリーを移動し、
(

元記事を表示

初心者の初心者による初心者のためのDjangoチュートリアルまとめ③

#はじめに
この記事はDjangoの公式チュートリアルを進めていくシリーズものです。
今回は3記事目「はじめての Django アプリ作成、その 3」を進めていきます。

[初心者の初心者による初心者のためのDjangoチュートリアルまとめ①](https://qiita.com/sanpo_shiho/items/6f2fbfd9bd3a18414fe6)
[初心者の初心者による初心者のためのDjangoチュートリアルまとめ②](https://qiita.com/sanpo_shiho/items/4df3b31ea76775f4a918)

#はじめての Django アプリ作成、その3
https://docs.djangoproject.com/ja/3.0/intro/tutorial03/

###もっとビューを書いてみる
`polls/views.py`に追記します。

“`polls/views.py
def detail(request, question_id):
return HttpResponse(“You’re looking at questi

元記事を表示

Pillowの最新版7.0.0だとpytorchのtransformが死にます.

タイトルのままでです.

pillowの最新版 7.0.0 にアップグレードしてpytorchのtransformが含まれているコードを動かすと以下のようになります.

“`
File “train.py”, line 6, in
from utils.datasets import *
File “/home/jun/Desktop/work_space/sportip/hogehoge/utils/datasets.py”, line 12, in
import torchvision.transforms as transforms
File “/home/jun/.local/share/virtualenvs/hogehoge-IBQiZg8J/lib/python3.6/site-packages/torchvision/__init__.py”, line 4, in
from torchvision import datasets
File “/home/jun/.local

元記事を表示

ディープラーニングは未知のポケモンのタイプを予測することができるのか?

# 記事の流れ
– Microsoft AzureのBing Image Searchを使った画像収集
– EfficientNet(pre trained)でネットワークの学習
– ネットワークの精度検証
– おまけ

尚、今回のブログ記事のコードは以下にまとめています。
[https://github.com/spider-man-tm/predict_type_of_pokemon](https://github.com/spider-man-tm/predict_type_of_pokemon)

# 動機
– ポケモンバトルにおいてタイプの相性は最重要要素と言っても過言では無い。
– がしかし、自身がポケモン剣盾をしていて、新しいポケモンを覚えきれないことによるタイプの読み間違いが多発している。(ググればすぐ出てくるけど面倒)
– そこでディープラーニングを使った場合、未知のポケモンに対するタイプ予測をどの程度正確にできるのか単純に興味があった。おそらくかなり難しいタスクなのであまり期待はしていない。

# Microsoft AzureのBing Image Searchを

元記事を表示

[前処理編] ロイター通信のデータセットを用いて、ニュースをトピックに分類するモデル(MLP)をkerasで作る(TensorFlow 2系)

## 概要

`keras`を使ったテキスト分類を試し、記事にまとめます。
データセットは`tensorflow`に内蔵されたロイター通信のデータセットです(英語のテキストデータ)。

[Keras MLPの文章カテゴリー分類を理解する](http://cedro3.com/ai/keras-mlp-reuters/) というブログ記事を参考に、一度取り組んだことがあります。
今回はドキュメントを引きつつ手を動かしており、理解を深める目的でこの記事をアウトプットします。
構築したモデルは、非常にシンプルなMLPです。

分量が長くなったので2つに分けます:

– 本記事で扱うこと
– データセットについて
– 前処理について
– 次の記事で扱うこと
– モデルの学習について
– モデルの性能評価について

## 動作環境

“`console
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G103
$ python -V # venvモジュールによる仮想環境を利用
Python

元記事を表示

ROSに依存しないROSと連携できるPythonパッケージの作り方

**Pythonをぶっ壊〜〜〜す。**
どうもこんにちは、「Pythonの被害から国民を守る党」党首を自称しております片岡です。
Pythonは嫌いで嫌いで正直一生書きたくないのですが、なんやかんやで書く羽目になりますよね。
ポストPythonなスクリプト言語よ早く生まれてPythonを滅ぼしておくれ・・・・・
と嘆いたところでPythonの快進撃は現状止まる気配がないのでうまいこと付き合っていかないといけません
~~ホントは明日にでも消えてほしいけど~~
まあPythonの中にも一部捨てたもんじゃない部分もあってそのおいしいとこだけはちゃんと活用していこうよということですね。
今回は普段良く使うROS1/ROS2においてPythonをなんとかうまく使っていく方法を紹介したいと思います。

# ROS1におけるPython
ROS1にはPythonクライアントであるrospyがあります。
~~rospyの内部実装を追ってみるとSubscriberのオブジェクト作った瞬間からspinしなくても実はコールバックが回ってる、
spinは単にrospy.ok()みたいなことしてspinしてる

元記事を表示

「効果検証入門」をPythonで書いた

# TL;DR
* 書籍「効果検証入門 正しい比較のための因果推論/計量経済学の基礎」のRソースコードを、Pythonで(ほぼ)再現しました
* https://github.com/nekoumei/cibook-python
* 本記事では、主にRではライブラリどーん!で済むけどPythonではそうはいかない部分の解説をします

# 書籍の紹介

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/203205/bc09efdd-8abc-0ae8-20fc-defe4af5e4b8.png)

上記Amazonに目次が載っているのでそれを見るのが早い気がしますが。。
とても良い本です。正確な意思決定を行うためにどうやってバイアスを取り除くか?に焦点を当てて種々の因果推論の手法(傾向スコア/DiD/RDDなど)をRソースコードによる実装とともに紹介されています。
全体を通して、現実問題の効果検証に因果推論を活用する

元記事を表示

Pytorchで自作の活性化関数をかく(hard sigmoid)

# ChainerからPytorchへの移植
研究でDeep Learningをしているのですが、先日Chainerのアップデートが終わりを迎えるのを知り、開発元と同様Pytorchにフレームワークを変更することになりました。
手始めに今あるChainerのプログラムからPytorchに移植することにしました。

基本的には関数の名前などを変えるだけでよかったんですが、途中でPytorchにHardSigmoidがないことに気づきました。
ということで自分で作っちゃおうということです。

#実際にかいてみた
…といっても、公式リファレンスに書いてあるのでほぼその通りにやっただけです。
–> https://pytorch.org/docs/master/autograd.html

“`python:
class MyHardSigmoid(torch.autograd.Function):
@staticmethod
def forward(ctx, i):
ctx.save_for_backward(i)
result

元記事を表示

ゼロから作るDeep Learningで素人がつまずいたことメモ:4章

# はじめに
ふと思い立って勉強を始めた[「ゼロから作るDeep LearningーーPythonで学ぶディープラーニングの理論と実装」](https://www.oreilly.co.jp/books/9784873117584/)の4章で私がつまずいたことのメモです。

実行環境はmacOS Mojave + Anaconda 2019.10です。詳細は[このメモの1章](https://qiita.com/segavvy/items/1945aa1a0f91a1473555)をご参照ください。

# 4章 ニューラルネットワークの学習

この章はニューラルネットワークの学習についての説明です。

# 4.1 データから学習する

通常は人が規則性を導き出してアルゴリズムを考え、それをプログラムに書いてコンピューターに実行させます。このアルゴリズムを考える作業自体もコンピューターにやらせてしまおうというのが、機械学習やニューラルネットワーク、ディープラーニングです。

この本では、処理したいデータに対して、事前に人が考えた特徴量の抽出(ベクトル化など)が必要なものを「機械学習」、さ

元記事を表示

デザインパターンについて勉強してみた(個人的メモ)その5(Compositeパターン、Decoratorパターン、Visitorパターン)

# はじめに
この記事は個人的な勉強メモです。inputしたものはoutputしなくてはという強迫観念に駆られて記事を書いています。
あわよくば詳しい人に誤りの指摘やアドバイスを頂ければいいなという思いを込めてQiitaの記事にしています。

エンジニアとして社会人生活を送っていますが、デザインパターンについてちゃんと学んだことがなかったので勉強してみました。

ここに記載している内容は
https://github.com/ck-fm0211/notes_desigh_pattern
にuploadしています。

## 過去ログ
[デザインパターンについて勉強してみた(個人的メモ)その1](https://qiita.com/ck_fm0211/items/10385466295b2673dcef)
[デザインパターンについて勉強してみた(個人的メモ)その2](https://qiita.com/ck_fm0211/items/31c4700cc1e5ed9c495c)
[デザインパターンについて勉強してみた(個人的メモ)その3](https://qiita.com/ck_fm0

元記事を表示

pipenv on WSLでwindowsのpythonが呼ばれてしまう問題

# 状況
少し前まで、WSL(ubuntu18.04LTS)上でpipenvを使っていて、
WSL上のpythonが呼ばれていて全く問題なかったのに、しばらくWSL使っていなかったら気づいたら表題の状況になっていた。

windows側のアップデートやらなんやらしていたので何が原因かはわからない。

# 方法
アプリと機能>アプリ実行エイリアスでpythonをオフにする
![apl.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326886/15a36cec-78ef-cf12-8e66-841ec46064e5.png)

# 蛇足
pipenvを入れればいいとか、pyenvを入れればいいとか混乱したので、一回全部消して下記に落ち着いた。[^1]

## pyenv install
“`

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.ba

元記事を表示

Talking Head Anime from a Single Image でバ美肉してみる.

# はじめに

みなさん Vtuber 好きですか?
バ美肉したくありませんか?

私はしたいです.
しかし私には 3D モデリングの技術も, 絵を描く技術もありません.

ならば技術のある人に依頼すればいいじゃないか.

* 2D モデル 数万円  !
* 3D モデル 数十万円 !!

技術もありませんが, お金はもっとありません.

安心してください.
人類の技術の進歩によって, 技術とお金, 両方なくても バ美肉できます.

元記事を表示

Nクイーン問題をPyQUBOのSAで解いてみる

年末年始の時間を利用してPyQUBOの理解を深めるためにNクイーン問題をやってみました。

PyQUBOは、アニーリングマシンを使う上で、とても便利なQUBO作成ツールだと思います。
「n個のうちmだけを1にする問題をPyQUBOを使ってアニーリングマシンで解く」
https://qiita.com/morimorijap/items/196e7fc86ecff927bf40
などでも使っていますが、改めて、Nクイーン問題をPyQUBOを使って解いてみようと思います。

Nクイーン問題とは、Wikipediaの8クイーンは、マスが8x8個で8クイーン https://ja.wikipedia.org/wiki/エイト・クイーン
に対して、マスがNxN個の問題を言います。

クイーンの動きは、上下左右斜めの8方向に、遮る物がない限り進めるので、マスの列、行、斜めにクイーンがいないように配置する問題となります。
これをアニーリング マシンで解くためにコスト関数の形式にすると、

N-Queen問題のハミルトニアン、 列column、行row、斜めdiagonal

$$H = \sum_{

元記事を表示

OTHERカテゴリの最新記事