- 1. 【Python】Pandasのread_sql_queryでMariaDBからテーブルごと直接データフレームに収納するサンプルコード
- 2. QGISのグラフィカルモデラーを使ってみた。(ver.3.22)
- 3. 自作モジュールのinit関数を使いたい
- 4. 【Project Euler】Problem 44: 五角数
- 5. 【Project Euler】Problem 43: 素数の倍数の部分列
- 6. 【Project Euler】Problem 42: 符号化された三角数
- 7. VaccImageのバイアル計算について
- 8. gspreadでオートフィル
- 9. Kaggle振り返り NFL Health & Safety – Helmet Assignment
- 10. Discod.pyを用いてbotでLaTeXを使えるようにする
- 11. 小説家になろう ブクマ数予測 ~”伸びる”タイトルとは?~ 3rd place solution & 振り返り
- 12. Python3でpip install uuidしてはいけない件
- 13. 【Python】jsonからcsv作成【業務自動化】
- 14. Wordle解く
- 15. Keycloakを用いたAuthorization Code Grant + PKCE 検証環境構築方法 メモ
- 16. PythonからEpsonプリンタを使うためのライブラリ”pyson_connect”を作成した話
- 17. 【Selenium】同じClassが2つ以上存在した場合に、それらの中から1つだけ抽出する方法
- 18. 【初投稿】初めてのウェブアプリ
- 19. Apache Airflow ハンズオン
- 20. 2. FlaskでOpenAPI定義の自動出力、Swagger UIページの作成
【Python】Pandasのread_sql_queryでMariaDBからテーブルごと直接データフレームに収納するサンプルコード
# サンプルコード
“`
import numpy as np
import pandas as pd
import pymysql.cursorsconnection = pymysql.connect(host=’localhost’,
user=’ユーザー名’,
password=’パスワード’,
db=’データベース名’,
charset=’utf8mb4′,
cursorclass=pymysql.cursors.DictCursor)sql = “SELECT * from テーブル名;”
df = pd.read_sql_query(sql, connection)
“`
この方法を使うとカラムごとSQLのテーブルを直でDFに収納できる※なお前提として予めユーザーに該当D
QGISのグラフィカルモデラーを使ってみた。(ver.3.22)
QGISでの処理を自動化できるのは知ってるけどpythonも初心者だし、いろいろ調べてます。
そこでグラフィカルモデラーというArcGISのモデルビルダーと同じような機能があって、それを使って設計したらそのままpythonスクリプトに書き出せたのでそれを記録しときます。
GISも多少は使ったことある程度の知識は必要なんだろうなとは思います。
あとMacでやってますのでwindowsとは動作が違うかもです。– グラフィカルモデラーはここ
![スクリーンショット 2022-01-22 10.00.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2514830/0a026858-bae4-f0c6-63de-6fa7379d1096.png)
– こんなウィンドウが立ち上がります。(モデルデザイナー)
![スクリーンショット 2022-01-22 10.01.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2514
自作モジュールのinit関数を使いたい
#背景
先日、自作モジュールをGitHubにアップして使いました。その時はクラスにして使っていなかったので、init関数を定義していませんでした。#目的
自作モジュールをクラスで作り、init関数を定義して使いたいと思います。#方法
先日、GitHubからcloneして、入力と重みとバイアスを引数としてANDゲートとして出力しました。今回はクラスを定義して論理ゲート(ここではANDゲート)をインスタンス化して、同じように出力します。#結果
以前、GitHubにアップした関数と同じ結果になりました。前回は入力まで引数にしていたので使い勝手が悪いと思っていましたが、インスタンス化する事でANDゲートを作った後、入力をすることができました。[Colab:GitHubから自作モジュールを使ってみる.ipynb(testの項目に記述してます)](https://colab.research.google.com/drive/1wvyMOe2V8ynwUTiNcsG-OElp2U0fEnDA?usp=sharing)
#考察
今回は、単純パーセプトロンをクラスで定義しました。結果
【Project Euler】Problem 44: 五角数
* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。
### 問題 44. 五角数
原文 [Problem 44: Pentagon numbers](https://projecteuler.net/problem=44)
**問題の要約:2つの五角数$P_j$,$P_k$のその和と差がやはり五角数になるものでその$D=|P_k-P_j|$が最小となる$D$を求めよ**
[五角数](https://ja.wikipedia.org/wiki/%E4%BA%94%E8%A7%92%E6%95%B0)に説明あります。一般項は以下の式で表され、逆関数は2番目の式になります。
“`math
P_n = n(3n-1)/2 \\n = (1 \pm \sqrt{1+24P_n})/6
“`これをもとに$D=|P_k-P_j|$が最小ということなので**j**を小さい順、*
【Project Euler】Problem 43: 素数の倍数の部分列
* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。
### 問題 43. 素数の倍数の部分列
原文 [Problem 43: Sub-string divisibility](https://projecteuler.net/problem=43)
**問題の要約:10桁のパンデジタル数で$1 \le k \le 7$のとき$k+1,k+2,k+3$**の3桁の数が$k$番目の素数で割り切れる数の合計を求めよ。**
やや問題が分かりずらいですがプログラム的にはシンプルです。
“`python
from itertools import permutationsprimes = [2,3,5,7,11,13,17]
dgts = “0123456789”def divchk(ps):
for k in range(7):
if int(ps[k+1:k+
【Project Euler】Problem 42: 符号化された三角数
* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。
### 問題 42. 符号化された三角数
原文 [Problem 42: Coded triangle numbers](https://projecteuler.net/problem=42)
**問題の要約:添付の単語リストを読み込み単語スコアが三角数になるものの数を求めよ**
Google Colabでのファイルの読み込みは「[Problem 22: 名前のスコア](https://qiita.com/masa0599/items/cf9cc7e7f41692d20af4)」を参考にしてください。今回は**p042_words.txt**にファイルをuploadした後のコードになります。また単語の値を返す関数**charcost**, **wordcost**もそのまま使います。
“`python
# triangl
VaccImageのバイアル計算について
VaccImageについては、
[VaccImage](https://github.com/YohYasushi/VaccImage “VaccImage”)
に記載のとおりです。
ワクチンのバイアル管理を目的としたWebアプリです。Ver1.0.1までは本当にひどいスパゲッティCodeだったんですが、Ver2.0.0ではSQLを駆使し、随分と見通しがよいCodeになりました。
今回はVaccImageについて初回のQiita投稿ということで、バイアル計算について取り上げてみます。他の先生方がどうしているか知りたいのですが、
#VaccImage
インフルでも新コロでも。ワクチンのバイアルの計算、とくに余りが生じることによる破棄バイアル含めた使用バイアルの計算はどうして
gspreadでオートフィル
gspreadには色々な関数があり、スプレッドシート上の多くの作業を簡単に実装することができます。しかし残念ながら、専用の関数が用意されていない処理もいくつかあります。今回ターゲットにするオートフィル処理もその一つです。
そこでこの記事では、オートフィル処理をはじめとして、gspreadに関数化されていない処理を実装する方法を説明します。# Sheets API上でのオートフィルの扱い
オートフィルを自動化するための方法は、REST APIとしては提供されています。それがAutoFillRequestというものです。> **AutoFillRequest**
> Fills in more data based on existing data.[^1]このリクエストをGoogle Sheets APIのspreadsheets.batchUpdateメソッドで送出することで、プログラムからオートフィル処理を実現できます。[^2]
## batchUpdateメソッドの詳細
batchUpdateメソッドの機能は、単にリクエストを送るとそれが実行されるという単純
Kaggle振り返り NFL Health & Safety – Helmet Assignment
# 初めに
この記事は昨年開催された「NFL Health & Safety – Helmet Assignment」の内容を振り返るために書いています。最後の約1カ月間だけ参加し、私の結果は、61 / 825 (Solo bronze medal, [Leaderboard](https://www.kaggle.com/c/nfl-health-and-safety-helmet-assignment/leaderboard)
) でした。個人的には ReID の実装を完全に終えることが出来ず、悔しい思いをしたコンペです。手元のテストデータではかなり出来ていたのですが、最終日に Submit するとエラーになりました。あと1日あれば結果はかなり変わっていたと信じています。Kaggle に [コード](https://www.kaggle.com/ttkagglett/61st-place-solution) を公開しています。ご興味のある方は是非。
![NFL Top.png](https://qiita-image-store.s3.ap-northeast-1.amaz
Discod.pyを用いてbotでLaTeXを使えるようにする
Pythonの勉強ついでにDiscordのbotを作ってみたいなと思ったのがこのbotの制作のきっかけです。Discord.pyのインストールからプログラム完成まで細かく説明したいと思います。
##1. 使用環境とインストール
OSはWindows10、Pythonのバージョンは3.9.2です。
https://www.python.org/ftp/python/3.9.2/python-3.9.2-amd64.exeIDEはPyscripterを使用しています。PATHが通っていれば感知してくれるのでおすすめです。
https://sourceforge.net/projects/pyscripter/files/latest/downloadSubprocessを用いてpdfcropを用いたりするので、Perlは必ずインストールしてください。
https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.msi以下、使用したモジュールです。必要に応じてpip等でインストールをお願い
小説家になろう ブクマ数予測 ~”伸びる”タイトルとは?~ 3rd place solution & 振り返り
Nishika株式会社が主催[「小説家になろう ブクマ数予測 ~”伸びる”タイトルとは?~」](https://www.nishika.com/competitions/21/summary)コンペに参加しました。本記事で私の取り組みの共有と振り返りをしたいと思います。
## コンペ概要
本コンペでは、日本最大級の小説投稿サイトである[「小説家になろう」](https://syosetu.com/)のデータを用いて、ジャンルや作者名などの関連データから各小説のブックマーク数を予測することをテーマとします。予測対象となるブックマーク数を5段階にビニングし、予測確率とのMulti-class loglossが評価指標とされています。
## コンペ結果
最終ランキングでは参加者575人中3位で入賞させていただきました。
Python3でpip install uuidしてはいけない件表題の件、正確に言えばPython2.5以降からですが、
uuidは標準ライブラリとしてバンドルされています。なのでpip install uuidしてしまうと、
“`
File “/Users/hoge/.pyenv/versions/3.8.0/lib/python3.8/site-packages/pip/_internal/req/req_install.py”, line 9, in
import uuid
File “/Users/hoge/.pyenv/versions/3.8.0/lib/python3.8/site-packages/uuid.py”, line 138
if not 0 <= time_low < 1<<32L: ``` このようなエラーになります。 どうやらこれは2.5以降に標準ライブラリに含まれているモジュールのバックポートのようです。 ##もしインストールしてしまった場合 ``` $ pip uninstall uuid ``` するか、 もしできなければ、ここでいうsite-package
【Python】jsonからcsv作成【業務自動化】
### 雑務撃退術?
サーバー障害対応スクリプトについて、運用者向けの仕様書を作成するタスク。
ホスト名とログインするために必要な情報を記載した以下のようなjsonファイルがあり、その情報を全て専用のエクセルに貼り付けなければならなかった。
(IPアドレスはもちろん数値である…)“`json
{
“serverintheruemorgue”: {
“ip_address”: “quoth.the.raven.nevermore”,
“user”: “edgar”,
“password”: “nightpain”
}
}
“`ホストの数が少なければ手動でコピペして対応できるが、何百個とあると流石に限界である。
Pythonでロジックを組んでなんとか解決できないか考えてみた。### ?の手を借りてみる
最初はクライアント指定のエクセルに直接出力することも考えたが、同じデータを複数のフォーマットに出力したり、そもそもフォーマットの変更等が発生することを考えると、貼り付けは手動で行う方が汎用性が高いだろうと考え
Wordle解く
# Wordle
最近ツイッターでGithubの草が生えているみたいなツイートが流れてます。Wordle 214 5/6
⬜⬜?⬜⬜
⬜⬜?⬜⬜
?⬜??⬜
⬜????
?????— ????? ?? ??. (@YumizSui) January 18, 2022
これは進捗を生んでいるのではなくて、Wordleというゲームで遊んでいます。
Wordleは5文字の英単語を当てるゲームです。
https://www.powerlanguage.co.uk/wordle/
毎日0時に、その日の単語が更新されます。みんなで同じ単語を解くことになるので、何が出たとかはネタバレになります。
最初は[英和辞書検索](https://nmm.blog.jp/hp/tool/dictsearch/dictsearch.html)が便利で、色々やってたんですが、効率化したくなってしまったのでPythonで書きました。
# 効率的な英単語
誰でも思いつくと思いますが、英単語に頻出するアルファベットを使った単語から攻めていくのが良いです。
eが最も多くてqとかzが少ないみたいな話は[シーザー暗号](https://ja.wikipedia.org
Keycloakを用いたAuthorization Code Grant + PKCE 検証環境構築方法 メモ
* 学習目的でKeycloakを使ったAuthorization Code Grant + PKCE を検証するための環境を構築したためメモとして残しておく。
* **[過去に作成したコード](https://qiita.com/KWS_0901/items/bdf60a725064900eaad1)**を修正して構築する。
* 変更点を主として記述する。
* docker-composeなどの設定ファイルはそのまま利用する。## main.py修正
* code_verifier・code_challenge生成処理などを追加する。
“`python
import ast
import urllib.parse as parse
import urllib.request as req
import urllib.error as error
import os
import requests
import uvicorn
from fastapi import FastAPI
from starl
PythonからEpsonプリンタを使うためのライブラリ”pyson_connect”を作成した話
# とつぜんですがPythonを書いているそこのあなた!!!
なんとなくPythonからプリンタを操作したいなって思うときありませんか?ありますよね?**僕はあります。**
シチュエーション的には……
– コマンドラインから印刷かけたいとき
– webサービスに組み込みたいとき
– ラズパイで使えるようにしたい
– 機械学習で使う……などなど一見ニッチな需要に思えるけど痒いところに手が届かない人は多いのではないのでしょうか。
Epsonには**”Epson Connect”**という便利なサービスがあり、さらに、プリンタを遠隔で操作するためのRestful APIが公式で準備されているのでそちらを使うことによってPythonからプリンタを操作できるようになります。
つまり……
**プリンタードライバー**を**自作できるのです!!!**## しかし……
Restful APIと日本語ドキュメントがあって実装しやすい反面、毎回api実装するのがまあまあ面倒なので**ライブラリ化**してみました。
**非公式のものなので使用は自己責任で
【Selenium】同じClassが2つ以上存在した場合に、それらの中から1つだけ抽出する方法
Seleniumでデータスクレイピングをする時に、同じクラス名が複数ある場合最初に1つだけしか取得できないということにハマりました。
今回はその解決策をメモとして保存しておきます。#今回のケース
“`sample.html
りんご
かき
もも