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

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

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 plt

fig, 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 functools

def args_type_check(func):
@functools.wraps(func)
def args_typ

元記事を表示

while else

“`python:1
count = 0

while 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とメモリの使用率を取得する

# 作成環境
スクリーンショット 2020-01-03 15.01.16.png
スクリーンショット 2020-01-03 15.03.40.png

# pythonで何か作りたい。
– CPU使用率とメモリ使用率を取得したい。
– どうせならGUIで作りたい。
– ボタンを押したときに取得したい。

## プログラムを組み上げる前に考慮すること
– CPUとかメモリとかだからOSに依存するでしょ。→import sysが必要だな。
– CPUと

元記事を表示

continue

“`py
count = 0

while True
if count == 5:
break

if count == 2:
count += 1
continue

print(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/#databases

DATABASES = {
‘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が存在するものと

元記事を表示

OTHERカテゴリの最新記事