- 1. matplotlibで、2軸、3軸でグラフを描画する
- 2. popn music のプレイ動画から、譜面エディタで読める json ファイルを生成する
- 3. scikits.audiolabのインストール[Python]
- 4. pythonでMongoDB入門するときの設定
- 5. 初心者の初心者による初心者のためのDjangoチュートリアルまとめ③
- 6. 深さ優先探索
- 7. [前処理編] ロイター通信のデータセットを用いて、ニュースをトピックに分類するモデル(MLP)をkerasで作る(TensorFlow 2系)
- 8. for文の continue break else
- 9. Pythonで関数の引数型チェックをデコレータで実装する
- 10. while else
- 11. 【第1回】pythonでCPUとメモリの使用率を取得する
- 12. continue
- 13. C 書いてると python すぐ忘れるのでコード書く前に一度これ見とけ的メモ
- 14. pythonで日本株価データをダウンロードしてくる
- 15. MacにKerasを導入する際に気をつけるべきこと
- 16. AtCoder Beginner Contest 149 (python3)
- 17. 初心者の初心者による初心者のためのDjangoチュートリアルまとめ②
- 18. Pythonista+sceneでトランプをランダムに表示する
- 19. 改めてprint() print()のキーワード引数
- 20. Pythonでサーバ接続ツールを作る(個人的備忘録)
matplotlibで、2軸、3軸でグラフを描画する
# テスト用データ
“`
x=[0,1,2,3]
y1=[1,2,3,4]
y2=[10,25,30,45]
y3=[150,200,350,400]
“`# 2軸でプロット
### ソース
“`
import matplotlib.pyplot as pltfig, ax1 = plt.subplots( )
ax1.plot(x,y1 ,”b-“)
ax1.set_ylabel(“y1”)ax2 = ax1.twinx()
ax2.plot(x,y2 ,”r-“)
ax2.set_ylabel(“y2”)plt.show()
“`
### 結果
![ダウンロード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468328/e2fa5aa0-ab0a-ed94-621a-07f0623709d8.png)### 参考
[Different scales on the same axes](https://matplotlib.org/gallery/subplots_
popn music のプレイ動画から、譜面エディタで読める json ファイルを生成する
# やりたいこと
ポップンミュージックの録画台で録画したプレイ動画から、譜面エディタ(ぽぷどろ)で読み込める譜面データ (json) を生成します。(注:ぽぷどろを作られている方と筆者は無関係です。ただ使わせていただいているだけです(感謝))
こんな感じの動画を入力にして、
“`sample.json
{
“version”: 3,
“bpm”: 111,
“hsp”: 5.8,
“notes”: [
{“frame”: 0, “pixel”: 34, “color”: 5, “timing”: 0, “measure”: 1},
{“frame”: 1, “pixel”: 11, “color”: 5},
{“frame”: 2, “pixel”: 21, “color”: 5},
{“frame”: 3, “pixel”: 31, “color”: 5},
{“frame”: 4, “pixel”: 42,
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
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
深さ優先探索
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/497312/71a41975-46c0-c2e8-dbb8-30a32fbe1a4b.png)
具体例として上記の木に対して深さ優先探索をする“`Python3
#python3
#sys.setrecursionlimit(10000) #再帰の回数上限変更 (デフォルト1000回)# 各ノードから,どのノードにエッジ(枝)が伸びているか調べてリスト化する
edge = [[1, 2], [0, 3, 4], [0, 5], [1], [1], [2]]def dfs(now, before=-1):#before:直前に通ったノード
if before==-1:
print(now)
for c in edge[now]: #c:子
if not c ==before: #無限ループを防ぐ
print(c)
dfs(c, now
[前処理編] ロイター通信のデータセットを用いて、ニュースをトピックに分類するモデル(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
for文の continue break else
“`py
players = [‘勇者’, ‘戦士’, ‘魔法使い’, ‘僧侶’]
for player in players:
print(player)
“`“`:実行結果
勇者
戦士
魔法使い
僧侶
“`“`py:無理やりwhile文で書くと
players = [‘勇者’, ‘戦士’, ‘魔法使い’, ‘僧侶’]
i = 0
while i < len(players): print(players[i]) i += 1 ``` ```py:else players = ['勇者', '戦士', '魔法使い', '僧侶'] for player in players: print(player) else: print('終了') ``` ```:elseの実行結果 勇者 戦士 魔法使い 僧侶 終了 ``` ```py:break players = ['勇者', '戦士', '魔法使い', '僧侶'] for player in players: if player == '魔法使い':
Pythonで関数の引数型チェックをデコレータで実装する
# 概要
自作関数に引数の型チェックを実装する際にデコレータとアノテーションを利用して実装する。
これがあればデコレートするだけで型チェックができるね!# 偉大なる先人
[Python関数の引数と返り値の型をチェックするデコレータ](https://qiita.com/calderarie/items/025b769b616e67fccf35)
↑やりたかったことはほぼこれです。
python3.6系でエラーになっていたので一部修正とアノテーション周りの整備をしてみました。
また、返り値のチェックは不要だったので削除しています。# デコレータの実装
今回の型チェックの実装は以下とします。– 関数の引数について型チェックを行う
– アノテーションで型が指定されている引数をチェック対象とする
– アノテーションがコメントだったり、ない場合はスルーする“` python
import inspect
import functoolsdef args_type_check(func):
@functools.wraps(func)
def args_typ
while else
“`python:1
count = 0while count < 5: print(count) count += 1 else: print('終了') ``` ```:1の実行結果 0 1 2 3 4 終了 ``` ```py:2 count = 0 while count < 5: if count == 2: break print(count) count += 1 else: print('終了') ``` ```:2の実行結果 0 1 ``` breakはwhile文全体から抜ける。 なので、 whileと組み合わされたelse以下は breakで抜けなければ実行される。
【第1回】pythonでCPUとメモリの使用率を取得する
# 作成環境
# pythonで何か作りたい。
– CPU使用率とメモリ使用率を取得したい。
– どうせならGUIで作りたい。
– ボタンを押したときに取得したい。## プログラムを組み上げる前に考慮すること
– CPUとかメモリとかだからOSに依存するでしょ。→import sysが必要だな。
– CPUと
continue
“`py
count = 0while True
if count == 5:
breakif count == 2:
count += 1
continueprint(count)
count += 1
“`“`:実行結果
0
1
3
4
“`“`py
if count == 2:
count += 1
continue
“`
continueで“`py
print(count)
count += 1
“`をとばして
while内の1行目“`py
if count == 5:
“`に行く。
C 書いてると python すぐ忘れるのでコード書く前に一度これ見とけ的メモ
# 趣旨
python 関係でググる前にこれ読んどけ的な団員向けメモ。
– セミコロンはいらない
– 字下げはスペース4つ。TABは許されない。
– None を使う。NULL, null, nil, undefined などは無い
– if, for, while は末尾にコロンが必要。括弧は不要。
– if, for, with, while, try, def などの本文はインデントも必要。
– else は字下げしてコロンも必要
– a++ は不可。a+=1
– next ではなく continue
– ライブラリ読み込みは import, as で短縮できる
– 引数受け取りは sys.argv。仕様は C と同じで0番目にコマンド名が入る。
– print は改行が入る。end=”” を入れと改行されない。
– キャストは明示的に必要 int(a) とか
– double はない。float はある。
– printf 的な構文は % を使う。”%02d”%val みたいな。
– switch はない。elif を使う。
– f = open(“file”,”r”) ま
pythonで日本株価データをダウンロードしてくる
# Summary
スクレイピングなしで[株式投資メモ](https://kabuoji3.com/)から株価情報をダウンロードするスクリプトを書いた。
# 使用法
“`
python ./stockDownload.py -c 7203
“`
7203 トヨタ自動車(株)の2019年の日足データがcsvでダウンロードできる。
ダウンロード成功ならば`Code: 7203 download finished.`、失敗ならば`Code: not valid.`と返す。# 動機
[Yahoo! finance](https://finance.yahoo.co.jp/)からスクレイピングは禁止されている。株価情報を[株式投資メモ](https://kabuoji3.com/)からスクレイピングする方法は公開されていた [^1] が、フォーマットが変更されれパースが上手く行かなくなる可能性がある。一方で、サイト内にダウンロードボタンがあるため、そちらを上手く活用できないか調査していた。# ダウンロードがどのように行われているか
ダウンロードボタンを押した後、google
MacにKerasを導入する際に気をつけるべきこと
#はじめに
MacにKeras(tensorflow)導入時に,色々と突っ掛かったので,その備忘録としてまとめました.#環境
Mac OSX Mojave(10.14.6)
Python3.7.3#tensorflowとkerasのインストール
以下のコマンドをターミナルで実行.pipのバージョンが古いとうまく機能しないので,**先にpipのバージョンを上げておく必要があります**
`pip install –upgrade pip
pip3 install –upgrade tensorflow
pip3 install keras`上記のあと,実際にpython3を立ち上げて動作を確認してみます.
“`
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21)
[Clang 6.0 (clang-600.0.57)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import t
AtCoder Beginner Contest 149 (python3)
unratedになっちゃったけど自分の勉強用にまとめておく.
#A – Strings
“`python:A.py
S,T = list(map(str,input().split()))
print(T + S)
“`文字列T,Sを受け取ってT,Sの順に連結するだけ
#B – Greedy Takahashi
“`python:B.py
A,B,K = list(map(int,input().split()))
if K <= A: A = A - K else: if K - A <= B: B = B - (K - A) A = 0 else: A = 0 B = 0 print(A, B) ``` クッキーの枚数で食べきるのか,青木のクッキーを食べるか,高橋のクッキーだけを食べるかで場合分けする. #C - Next Prime ```python:C.py X = int(input()) def is_prime(x): flag = T
初心者の初心者による初心者のためのDjangoチュートリアルまとめ②
#はじめに
この記事は[初心者の初心者による初心者のためのDjangoチュートリアルまとめ①](https://qiita.com/sanpo_shiho/items/6f2fbfd9bd3a18414fe6)の続きです。Djangoの公式のチュートリアルを進めていきます。
#はじめての Django アプリ作成、その2
https://docs.djangoproject.com/ja/3.0/intro/tutorial02/###Database の設定
デフォルトではDjangoはSQliteを使用しています。
`mysite/settings.py`内でDatabaseの設定を行います。“`Python:mysite/settings.py
# Database
# https://docs.djangoproject.com/en/3.0/ref/settings/#databasesDATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.sqlite3’,
Pythonista+sceneでトランプをランダムに表示する
今回は、Pythonistaのsceneでトランプを表示する処理を作成してみました。
プログラム概要は以下の通り。
・53枚の中からランダムに5枚トランプを引く
・スマホ画面をタッチするとカードを引き直す## トランプ処理を作成する方法
まずは53枚(絵札13枚ずつ+ジョーカー)のトランプセットの作成です。
マーク+数字という形で文字列を作成し、トランプリストの配列に格納していきます。マークはPythonistaのカード画像に合わせて’Clubs’, ‘Hearts’, ‘Spades’, ‘Diamonds’を使用します。
◆実装例
class TrumpGame:
def make_card_list(self):
# マークのリスト
symbol_list = ['Clubs', 'Hearts', 'Spades', 'Diamonds']
# カードリスト
card_list = ['Joker']# マークと数字を合体させる
for symbol in symbol_list:
for number in ran
改めてprint() print()のキーワード引数
こんにちは。初めて記事を書きます。
1番使っている言語はPythonで、C言語とその他もろもろを少しかじっています。
print()はPythonの入門によく使われますが、キーワード引数が使えることを最近知り、備忘録がてらまとめてみました。pythonのバージョンは3.7ぐらいだと思います。。(詳しく書けなくてすみません?また調べ直します。ドキュメントから引用
https://docs.python.org/ja/3/library/functions.html#print
>print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
objects を sep で区切りながらテキストストリーム file に表示し、最後に end を表示します。sep 、 end 、 file 、 flush を与える場合、キーワード引数として与える必要があります。###例
```py#!/usr/bin/env python3
# -*- coding: utf-8 -*-test = 'てすと'
print(
Pythonでサーバ接続ツールを作る(個人的備忘録)
#・前提条件
著者のプログラミング知識は皆無です。
普段からプログラミング言語を触れている人からしたら
イライラする部分が多々あると思いますので、
それを踏まえたうえで以下を読み進めてください。
###作成環境
OS:Microsoft Windows 10 Home
言語:Python3.8#・作るに至るまでの経緯
MW構築をする上でサーバに接続する際Linuxはマクロツールがあるので特段問題はないが、
WindowsServerを構築する際はリモートデスクトップ接続で直接IPアドレス・ユーザ・パスワードを入力し接続をしていた。
基本的にWindowsServerの要件の方が全体数的に多く、
一々入力しながらOSバージョンも確認するのがしんどいのでぱっと見でわかって接続も出来るものが欲しかった。また、後々別の現場で利用できる様固有の情報を一切持たせないものを作りたい。
#・ツールでやりたいこと
① 各サーバの情報はリストファイルとして別ファイル管理とする。(ManagerサーバとゲストOSサーバで2ファイル管理)
② Managerサーバ側は複数の拠点やDCが存在するものと