- 1. 統計学検定3級レベルの計算は手計算するのだるいから、Python3に任せよう!!
- 2. PythonでPDF結合GUIを作る その1
- 3. 温度センサーをアップデート
- 4. 顔認証のプログラム作ったって言ってイキリたくない?
- 5. MariaDB のテーブルを web で表示する方法
- 6. Python3でファイルのDLとバイト値と削除
- 7. docker postgreSQL メモ
- 8. 対話型LINE BOTの作り方002 (猫の写真を送る)
- 9. FlaskのrequestでBooleanをGETする
- 10. N分木を理解するために解説しながら自力実装してみた
- 11. list.split(“文字”)みたいなことをやりたい場合
- 12. pythonのKeyErrorを何とかする
- 13. エラー対処[Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR]
- 14. python tkinter うまく作動しない
- 15. Python 三項演算子でelifを書く
- 16. 【python】画像処理その4 ~フィルター~
- 17. pyenvインストール(メモ)
- 18. dataFrame のindexとcolumnの一覧を取得する方法
- 19. ToDoリスト作り[Python&Django]
- 20. テスト 橘田 応用数学、機械学習、深層学習:前編1
統計学検定3級レベルの計算は手計算するのだるいから、Python3に任せよう!!
#背景
統計学を(諸々の式を導出したり、予備ノリ様のわかりやすい授業を楽しく拝見したり、自分のやりたいように)勉強した結果、落単し、でもまあ単位は足りてるし大丈夫でしょ!と楽観視していた私に、事件が起きた・・・######教授<「統計学検定を受けないと、卒業させないよ??うちの研究室の卒業要件には統計学取らないといけないって書いてあるからね!!」 ######ワイ<「いや、それは研究室の決まりであって、大学の卒業要件には含まれていない!単位さえ足りていればいいだろ!!etc(ゴニョゴニョゴニョゴニョ)」 ######教授<「やれ!ニッコリ(殺)」 ######ワイ<「うううううううううううう、関係悪化させると色々辛い。過去問みたら簡単そうだしやればええわ。こんなん片手間や!」 ※これはフィクションです。察してください(笑) ##というわけで、ダメ大学生が統計学検定3級を受けることになりました。ちなみに今週末(2019/11/24)のやつです笑 今日本格的に勉強を始めて、早速過去問解きましたが、すぐに9割程度取れました。ぶっちゃけ簡単ですが、諸々忘れている?こんなんや
PythonでPDF結合GUIを作る その1
はじめてのQiita投稿です。
備忘録的にPython初心者の私が作成したものなどを公開していきたいと思います。なるべく1回の投稿を簡潔にまとめたいので以下の3回に分けて投稿します。
**その1 TkinterでUI作成**
**その2 PyPDF2でPDF操作**
**その3 pyinstallerでexe化+アイコンを付ける**
# 背景
・「いきなりPDF」や「PDF Mergy」を使わずにPDFファイルを結合したい
・PythonでUI作成したい# Tkinterでウィンドウ作成
“`python
import tkinter
import PyPDF2
import osroot = tkinter.Tk()
root.title(‘PDFMerger’)
root.geometry(“800×700”)
ver = ‘1.0.0’ #バージョンroot.mainloop()
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447145/4
温度センサーをアップデート
## 温度センサーをアップデートした!(目的)
– DHT11からDHT22にアップデート
付け替えたら、そのまんま使える訳じゃなかったので、ご説明します。
前回の記事を見ていない人へ➡︎ [URL](https://qiita.com/arakaki08512/items/22ea1f7bdd6fe72c1209)参考資料[Raspberry Pi 3+DHT22 で気温を通知するLINEbotを作る②](https://qiita.com/zakopuro/items/ed6720f4c27773cb58c7)
## 使用したもの– [DHT22](http://akizukidenshi.com/catalog/g/gM-07002/)
その他は、以前と同じです。## セットアップ
[GitHub](https://github.com)にソースコードがあるので、引用してきます。
– まずは、RPi.GPIOはRaspberry PiのGPIOピン制御できるモジュールをインストール。
顔認証のプログラム作ったって言ってイキリたくない?
#時代は顔認証
中国の中でも特にIT的にめちゃくちゃ発展している都市「深セン」。聞くところによると、コンビニの支払いから自動販売機まで、顔をかざすだけで決済ができるとか。
良いか悪いかは置いておいて、すごいですよね。近未来的でかっこいい。
じゃあ僕も作っちゃお!w みたいなノリで去年作ったのですが、なかなか記事にできていなかったので、今回記事にすることにしました。
今回ご紹介するシステム、プログラムは、初めてまともにPythonに触った作品で、かつ初めて機械学習に触れた記念すべき作品です。#概要
PCのインカメラを使って自分の顔の画像を撮影し、ライブラリOpenCVを使って画像の加工、水増しを行ったあと、traincascadeで顔の学習を行い個人を判別するプログラムを作成する。
使用言語はPython3を使用した。#プログラムの流れ
今回の仕組みは顔画像の処理、学習プログラムと顔認証プログラムの2種類を作成しました。###顔画像処理、学習プログラムの流れ
① ビデオキャプチャーでPC のカメラを起動する
② 顔を認識したフレームを画像として40 枚保存する
③ 様々な形
MariaDB のテーブルを web で表示する方法
Web で MariaDB のテーブルを次のように表示する方法です。
![display_nov19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/5e3bc4fb-a696-f405-60bc-98dbf62cf9cc.png)“`html
Python3でファイルのDLとバイト値と削除URLからのDLしてバイト値を調べてファイルが圧迫するのでゴミ箱に※⌒ ヾ(*´-`) ポイするだけのプログラミング。
###ソース
“`python
# ライブラリの取り込み
import urllib.request
import os.path# URL,保存するパスを指定
url = “https://xxxxxxx.co.jp/1234567.mp4”
save_name = “sample.mp4″# ダウンロードする
mem = urllib.request.urlopen(url).read()# ファイルへの保存
with open(save_name, mode=”wb”) as f:
f.write(mem)# バイト数獲得
ret = os.path.getsize(save_name)
print(ret)# ファイルの削除
os.remove(save_name)“`
メモリ上でDLしたモノからバイト値とか取りたかったけどローカルに落とさないとダメっぽかったので、他にいい方法無いかな。
docker postgreSQL メモ
## DockerでPostgreSQLを作りPython3 pandasで操作
環境 macOS Catalina 10.15.1### ホストに、DBのマウントポイントを作る
現在のディレクトリに volsホルダを作ろ“`
mkdir $PWD/vols
“`### Containerを起動
– Container name pg_docker
– パスワード設定 postgres POSTGRES_PASSWORD=postgres
– ポート host port:container port 5432:5432
– volumeをマウント $PWD/vols:/var/lib/postgresql/
– カレントディレクトリのvolsにdockerのpostgresqlをマウント“`
docker run –rm –name pg-docker -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 -v $PWD/vols:/var/lib/postgresql/data postg
対話型LINE BOTの作り方002 (猫の写真を送る)
#概要
[前回の投稿](https://qiita.com/mahiroaug/items/b0e23e6ca19c33add1a9)において対話型LINE BOTの基本機能を実装できたので、応用編としてリプライ機能の向上を図っていく。今回作成するのはテキストメッセージの代わりに画像メッセージをユーザへリプライする機能である。一例として監視カメラの画像をLINEを通じてオンデマンドに表示させるソリューションを実装していきたい。
##やりたいこと
自宅の猫の様子を監視カメラで撮影し、LINEアプリを通じてウォッチしたい。
##メッセージ仕様
[LINE Messaging APIリファレンス – 画像メッセージ](https://developers.line.biz/ja/reference/messaging-api/#image-message)
によるとBOTはLINEメッセージ内で画像ファイルを直接やりとりするのではなく、インターネットのリンク情報を通知するものらしい。
つまりメッセージ本文中には画像のバイナリデータは一切含まれず、LINEアプリが改めてURL先からデ
FlaskのrequestでBooleanをGETする
# 環境
– python 3.7.0
– Flask 1.0.2# まずSOURCE
bool型の`is_hoge`をrequestで受けとって返すだけのAPI“`python:hoge.py
from flask import Flask, request
app = Flask(__name__)@app.route(“/”, methods=[‘GET’])
def hello():
is_hoge = request.args.get(‘is_hoge’, type=bool)
return f'{ is_hoge }’if __name__ == “__main__”:
app.run()
“`# 期待値
– `true`を送ったら`True`
– `false`を送ったら`False`
– `0`を送ったら`False`# 実行結果
– `true`を送った場合
N分木を理解するために解説しながら自力実装してみた# N分木を理解するために解説しながら自力実装してみた
## N分木とは木構造のデータ構造のうち、親ノードの有する子ノードの数がN個以下であるデータ構造の事を指す。
二分木の一般形であるが、第一子ノード(first child)と兄弟ノード(sibling)に分ける事で、結局二分木で表現できる。
二分木で表現できれば、操作や探索は二分木の方法が適用できる。
## 目的
* N分木を学ぶことで、データ構造とアルゴリズムに対する理解を深めたい。
* pythonでN分木データ構造を実装する。
* 先に[二分木を学んだので](https://qiita.com/tagtagtag/items/c5c460633e1ac864937a)、その応用としてN分木を学び理解を深める。
* 二分探索木の理解を深めたい。 ⇒ [親記事](https://qiita.com/tagtagtag/items/0e04c584f17ebfb7afbb)## 内容
### データ構造とノードの定義仮に以下のような複数の子を持つノードを有した木構造を定義する。
![generic.png](ht
list.split(“文字”)みたいなことをやりたい場合
# はじめに
pythonのsplit()関数はよく使うが、文字列にしか使えない。
listの時も使いたいと思って調べたが、意外と見つからない。
したがって備忘録がてらコードを書いた。# やりたいこと
文字列に対して行うsplit()をlistに対してもやりたい。
文字列に対してのsplit()の例は“`
s = “1032”
s.split(“0”)
# [‘1′, ’32’]
“`具体的には
“`
a = [“1″,”0″,”3″,”2”]
#これはエラー
#a.split(“0”)
#[[“1”],[“3″,”2”]]
“`みたいなことがしたい。
# コード
“` list_split.py
def list_split(L,moji):return_L,tmp = [],[]
for val in L:
if val != moji:
tmp.append(val)
elif val == moji:
return_L.append(tmp)
pythonのKeyErrorを何とかする
# はじめに
Pythonを触っていて、“`
“KeyError: None”
“`というエラーが出た。原因と修正方法をメモ。(コメントでいただいた内容に修正しました。)
# 原因
`foo[‘bar’]`と、`bar`というキーを指定しているが、そのキーが存在していないと考えられる。# 修正方法
タイプミスの可能性があるため、自分でキーを把握しているorプログラム内にキーが記述されている場合は見直す。
無い場合は、適切な位置に以下のコードを挿入する。“`python:
…
print(foo.keys())
…#ここでエラーが起こる
“``[‘bar’]`部分を適切に修正する。
エラー対処[Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR]
# はじめに
tensorflowを使いたいなーと思ってCudnnをインストールしたら、また新しいエラーが出てきました。結構困ったのでメモります。# エラー内容
GPU自体はtensorflowで読み込めているのだが、実行するとなんだかエラーが発生する。エラー内容は以下。“`sh:error
…:…: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
…:…: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
Traceback …
…
“`# 解決方法
以下のコマンドを実行すると無事解決した。“`sh:
$ export TF_FORCE_GPU_ALLOW_GROWTH=true
“`# 参考
–
python tkinter うまく作動しない
pythonのtkinterについての質問です。下のソースコードを実行してみたところ、
~~~~~~~~~~~~~~~~~~~
import tkinter as tk
root = tk.Tk()
root.mainloop()
~~~~~~~~~~~~~~~~~~~エラーが発生してしまいました。↓
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeyboardInterrupt Traceback (most recent call last)
\in \
1 import tkinter as tk
2 root = tk.Tk()
—-> 3 root.mainloop()~/anaconda3/lib/python3.7/tkinter/\_\_init\_\_.py in mainloop(self, n)
Python 三項演算子でelifを書く
条件式の判定結果を1ライナーでprintする際にちょっと迷ったのでメモします。
# if elseの書き方
これはわかりやすい。“`python:if-else
print(‘a’ if var == ‘a’ else ‘not a’)
“`# if elifの書き方
if-else-if-else-if…..と書いていく。
(elifで書けるようにして欲しいですな)“`python:if-elif-else
print(‘var is a’ if var == ‘a’ else ‘var is b’ if var == ‘b’ else ‘var is …’)
“`
【python】画像処理その4 ~フィルター~
#SciPy#
「サイパイ」って読むらしいです.
この中にある`ndimage`と`signal`を使っていきますです.#ガウシアンフィルタ#
今回はガウシアンフィルタをかけていきます.
画像が平滑化されます.
とりあえずやってみましょう.
ガウシアンフィルタとはなんぞ?って人はこちら→[ガウシアンフィルタの解説](https://imagingsolution.blog.fc2.com/blog-entry-88.html)##コードと結果##
“`python
from PIL import Image
import numpy as np
from matplotlib import pylab as plt
from scipy import ndimage
#画像を開いてグレーにしてNumPy配列にする
img = np.array(Image.open(‘lena.jpg’).convert(‘L’), ‘f’)
#ガウシアンフィルタをかける
img_gaussian = ndimage.filters.gaussian_filter(img, 10)
#表示
pyenvインストール(メモ)
# 目的
2系と3系を共存させるためpyenvを使用する。
手順の備忘録のため記載しておく“`
# sudo yum install bzip2-devel xz-devel
# curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
# echo ‘export PATH=”/home/ec2-user/.pyenv/bin:$PATH”‘ >> ~/.bash_profile
# echo ‘eval “$(pyenv init -)”‘ >> ~/.bash_profile
# echo ‘eval “$(pyenv virtualenv-init -)”‘ >> ~/.bash_profile
# echo ‘unalias python’ >> ~/.bash_profile
# source ~/.bash_profile
# pyenv install 3.6.5
# pyenv global 3.6.5
# python –version
“`
dataFrame のindexとcolumnの一覧を取得する方法
##作業環境
Windows 10
PyCharm## コード
“`python
import pandas as pddf = pd.DataFrame([[1, 2, 3], [4, 5, 4]], columns=list(‘ABC’))
print(df.index.values) # indexを配列で表示する
print(type(df.index.values))
print(df.index.values.tolist()) # indexをリストで表示する
print(type(df.index.values.tolist()))print(“\nここからcolumn”)
print(df.columns.values) # columnを配列で表示する
print(type(df.columns.values))
print(df.columns.values.tolist()) # columnをリストで表示する
print(type(df.columns.va
ToDoリスト作り[Python&Django]
#目的
[参考][Djangoで作るToDoリスト](https://qiita.com/acecrc/items/a4302ca6cf0897c45302)
pythonで簡単なものを作ろうと思った際に、ToDoアプリが良いのではないかと思い挑戦したみた。– 機能
– 一覧表示
– 詳細表示
– リストの作成&編集
– 削除この4つの機能を持つToDoアプリを作成していきます。
#環境
pythonとDjangoのバージョンは以下の通りである。
Djangoは後の手順の中で仮想環境にインストールする。“`
$ python -V
Python 3.7.3
“`“`
$ pip list
Package Version
———- ——-
Django 2.1.8
“`#作成手順
大雑把に分けると
1. 開発環境を整える
2. ToDoアプリ作成(python編)
3. ToDoアプリ作成(html編)
4. マイグレーション
5. 動作確認
の5ステップ
#1.開発環境を整える
##仮想
テスト 橘田 応用数学、機械学習、深層学習:前編1
# 応用数学
## 線形代数学:行列~特異値分解
特異行列の求め方をすっかり忘れていて、自信が無くなった。(100文字以上書く)# 機械学習
## 線形回帰モデル:機械学習とは~ハンズオン# 深層学習(前編1)
## Section1:入力層~中間層:深層学習1-1~1-6これを「未投稿」のまま完成まで続け、レポートが完成したら「投稿」すれば、1つのURLになるのかな?