Python3関連のことを調べてみた2019年11月21日

Python3関連のことを調べてみた2019年11月21日

python で虹色の6桁カラーコードを生成

# 動機
グラフを描く時、カラフルに点や線の色を変えたくなったのですが、グラフ描画ツールの色パレットには数種類しか色が用意されていなかったりします。
そこで、虹色のカラーコードを自分で生成できるようにしました。

#コード
“`python
import colorsys

HSV_tuples = [(x*1.0/N, 1.0, 1.0) for x in range(N)]
RGB_tuples = [‘#%02x%02x%02x’ % (int(x[0]*255), int(x[1]*255), int(x[2]*255)) for x in list(map(lambda x: colorsys.hsv_to_rgb(*x), HSV_tuples))]
“`

## 生成結果
N=24で生成した結果

“`
[‘#ff0000’, ‘#ff3f00’, ‘#ff7f00’, ‘#ffbf00’, ‘#ffff00’, ‘#bfff00’, ‘#7fff00’, ‘#3fff00’, ‘#00ff00’, ‘#00ff3f’, ‘#00ff7f’, ‘#00ffbf’,

元記事を表示

今年のACLの注目単語をWordCloudで可視化してみた

# はじめに

– 最近「WordCloudで可視化してみた」という記事が結構公開されているので、自分も最近作ったWordCloudを記事にしてみました。
– この記事でのACLは自然言語処理のトップカンファレンスの1つを指しており、サッカーとは一切関係ありません。

# 可視化の意義

*学生時代のとある1日*

教授 「君、今年のACLの論文、何か面白い論文あった?」

私 「(えっ?公開されたの昨晩なんですけど?!)・・・いえ、まだ見てないです・・・」

教授 「じゃあ、来週、今年の傾向と面白そうな論文1本紹介してね。」

私 「・・・はい」

可視化しようがしまいが、結局ある程度の論文には目を通すことになるのですが、**今年の傾向**を把握するために、計算&可視化プログラムを使って(主観だけでなく)定量的な確証を得よう、ということです。

# やりたいこと

– ある年のあるカンファレンスの注目キーワードを可視化する

ポイントは「**他の年やカンファレンスと比較して相対的にピックアップされているキーワードを抽出したい**」という点です。

そのために、WordCloudで

元記事を表示

Python初心者が学んだ基本的な作法・関数・ライブラリ等を逐次更新していく

## 動機
* 画像処理等をやっている中年のおっさんで研究者の端くれ(C++、Rubyはそこそこ書ける)
* 機械学習を始めるのでPythonを学習する必要が出てきた
* せっかく全くの初心者という貴重な時期なのである程度のレベルになるまでに必要となる知識を逐次記録していくことにした(継続中)
* ある程度仕事を回せるためには結局どんな知識や関数を使えるようになる必要があるの?という問いに対する回答になれば…
* 今後同じような初心者の方が参考にできるものになれば…
* 以上の性質から体系的なまとめにはならないです…すみません

## 参考記事(網羅的・体系的なまとめ)
* [python 組み込み関数を全て(69個)紹介する](https://qiita.com/anieca/items/5afa1787aa0c7cd3ab49
)
* [AtCoderの問題を分類しました](https://qiita.com/KoyanagiHitoshi/items/32dc42d8c5ee75339e54)

## str
### str.join
* 文字列を結合

元記事を表示

CLIPSTUDIO PAINTのファイルからサムネイル画像を取得

.clipファイルからサムネを取得して、自作の管理ソフトに使うために試行錯誤したので私的メモ。

# 使用ツール

– Python3(3.8.0 64bit)
– VSCode(1.40.1)

# 参考サイト

– [CLIP STUDIO PAINTの.lipファイルをハックして作業動画を書き出すWindowsアプリを作った](https://tech.recruit-mp.co.jp/etc/building-lip-to-animated-gif-converter-named-lip2gif/)
– [イラストを Git で管理したかったのでツールをつくった](https://syfm.hatenablog.com/entry/2016/10/25/183044)
– [CLIP STUDIO PAINTで作成した漫画データのサムネール出力の為の調査](https://qiita.com/ariela/items/71986b1bf65a566d2e75)

# 概要

## 書いたコード

“`Python:GetThumbnail.py
import sq

元記事を表示

nltkの使い方

https://www.nltk.org/data.html
https://codic.jp/engine

元記事を表示

PythonでPDF結合GUIを作る その2

今回はその2です

 [その1 TkinterでUI作成](https://qiita.com/you3feet/items/ba4f0c05d236101fe44d)
 **その2 PyPDF2でPDF操作**
 その3 pyinstallerでexe化+アイコンを付ける

# ログインユーザー名を取得
保存先をデスクトップに指定するためにログインユーザー名を取得

“`python
merger = PyPDF2.PdfFileMerger()
user = os.getlogin()
username= str(user)
“`
#ボタン「Open」のアクション
以下の流れで結合するPDFファイルを確認します
 
 ファイルパス確認
    ↓
 PDFファイルをリストにappend
    ↓
 テキストボックスに結合するPDFファイルを表示

“`python
# Open
def clicked():
txt3.delete(1.0, tkinter.END)
filePath = txt1.get()

if os.path.exist

元記事を表示

お前らの多層パーセプトロンは汚い

# 「ところで俺の多層パーセプトロンを見てくれ」
「こいつをどう思う?」

「すごく…綺麗です…」

# 本題

出オチ感。

多層パーセプトロンをスクラッチする機会があったのでそのまとめ的な記事です。

今回はいい感じに汎用的にしつつscikit-learnみたいなインタフェースで学習が出来るように書きました。

隠れ層の層数やノード数、学習回数、学習率などなどだいたい全部のパラメータが引数を渡すことで調整可能です。バッチノーマライゼーションには挑戦した形跡がありますが、分散とか使ってうまいこと正規化したりはできていません。

この[記事](https://qiita.com/hppRC/items/af0fc49f78d9fed70def)に汎用的じゃないけど簡潔なものを載せているので、あわせてご覧ください。

やっぱある程度なんでも使えるように作ると複雑になりますね。もっと綺麗にしたい。下記は多層パーセプトロンに排他的論理和(よく見る)を学習させたやつです。

“`python

import numpy as np

class MultilayerPerceptron:

元記事を表示

qを試してみた

### qとは

[q](#https://github.com/harelba/q)とはcsv、tsvなどのファイルをデータベーステーブルのように扱い、それらに対してSQLを実行するというものです。

類似のツールとしてAWSが提供する[Athena](#https://aws.amazon.com/jp/athena/)などがありますが、開発用PCで捌けるような比較的少数のデータに対してサクッとSQLを使いたい方などには`q`は向いているかもしれません。

### インストール

[開発元が公表しているインストール手段](#http://harelba.github.io/q/install.html)として`Mac OS`、`Windows`、`Linux`と大方のOSに対応しているようです。
また[Dockerイメージ](#https://hub.docker.com/r/eiryu/q-text-as-data)、[Python API](#https://github.com/harelba/q/blob/generic-injected-streams/PYTHON-AP

元記事を表示

Jupyter上で常微分方程式のアニメを作る

常微分方程式の定性的な挙動は2次元までなら手で何とかなるとは言ってもやはり可視化,特にアニメーションにしたいですよね.
次のサンプルで解いてるのは減衰振動です.funcを適当にいじれば非線形でもOKです.
僕はまだ生後260ヶ月の赤ちゃんなので,実行例のgifは添付できてない上につい先日までスライス機能を知らず積分をfor文の中で実行しており計算時間がエライことになってました.

“`Python:DiffAni.ipynb
%matplotlib nbagg
import matplotlib.pyplot as plt
import numpy as np
from scipy.integrate import odeint
from numpy import sin, cos, pi
from matplotlib.animation import ArtistAnimation

# Draw phase space of 2-D differential eq

def func(v, t, g, k):
return [ v[1], -g*v[1]-k*v[0]]

元記事を表示

ガウス分布とポアソン分布をqq-plotする

#Import

“`python
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
“`
#乱数を生成
ガウス分布、ポアソン分布に従う乱数をそれぞれ10000個生成する。

“`python
norm = np.random.normal(0, 1, 10000)#平均0、標準偏差1
poisson = np.random.poisson(lam=10, size=10000)#λ=10
“`
これをヒストグラムで図示する。
![download.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330569/e0e9801f-37e4-0c51-5d81-683c7c17e657.png)
![download-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330569/3decfdf0-9733-023e-1

元記事を表示

python ためになったリンク集

###概要
はい、自分用のメモです。

###thinkerにおいて、ボタンが押された状態を戻す方法

【Python GUI tkinterサンプル】tkinter ttk.Buttonのイベント(bind)実行後、ボタンが押下状態になるのを回避する


コールバック関数の終わりをreturn “break”にする。
こんなん思いつかん。

別ファイルのクラスを継承するには

【脱オブジェクト指向初心者!】Pythonの継承の基礎を学ぼう

### pythonの関数ポインタ(というかコールバック関数)
pythonには「関数ポインタ」はなくて、関数だろうとインスタンスだろうと数値だろうとすべてオブジェクトで「オブジェクトID」が割り当てられていて、オブジェクトIDが辞書に登録されます。
https://qiita.com/moroku0519/items/315cd25d3eaae3217103のコメント欄より

###tkinter を使ってPythonのフォームが表示されるプログラムをpyinstallerでexe化する場合
–noconsole オプションを付けないとフォームが表示されないことに注意する

元記事を表示

その[カッコ]、本当に必要?

# イントロダクション

?のような巨大なリストがあったとする。

“`py
big_list = [
{“name”: “John”, “age”: 20},
{“name”: “Mary”, “age”: 17},
{“name”: “Tom”, “age”: 16},
{“name”: “Michael”, “age”: 11},
# …
]
“`

`name`をすべて結合したいとき、?のようなコードを書く人が少なくないだろう。

“`py
# ↓ ↓
names = [per[“name”] for per in big_list] # list comprehension
all_names = “, “.join(names)
“`

この`[ ]`は実は不要である。不要なだけではなく、`big_list`と同じサイズのリストが作られ、メモリを無駄に消費することになる。本来の目的は`name`をすべて結合することなので、このような中間的なリストは必要

元記事を表示

統計学検定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 os

root = 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してバイト値を調べてファイルが圧迫するのでゴミ箱に※⌒ ヾ(*´-`) ポイするだけのプログラミング。

(追記)
今回はURL先がDBに保存されているURLのみのため、ローカルに保存する形を取りました。
最終的には保存しなくて良いとのことで、後述してあります。

###ソース

“`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_na

元記事を表示

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先からデ

元記事を表示

OTHERカテゴリの最新記事