Python関連のことを調べてみた2022年12月06日

Python関連のことを調べてみた2022年12月06日

Google Mapsのデータを活用し、便利なGoogle My Mapsを作成する

# TL;DR
店名や住所などからなるCSVのリストに、スクレイピングしたGoogle Mapsの情報を付与すると、使いやすくなります。そのデータをGoogle My Mapsに読み込ませることで、地図上に表示させます。
※スクレイピングは用法・用量を考慮し、ご自分の責任で行なってください。

# ポイント
自治体のキャンペーンなどで、対象店舗リストをPDFやCSVで公開している場合があります。リストなので店名などで検索することは容易ですが、自分の近くにあるお店を探したいなどの場合には不便です。そのため、Google My Mapsを用いて地図上に表示してみました。

合わせて以下の情報をGoogle Mapsから取得して利便性の向上を図りました。
1. カテゴリ(飲食店なら、イタリア料理・焼肉店など)
1. 評価
1. Google MapsでのURL
1. (上記1, 2を組み合わせたもの(例:【4.2_イタリア料理】店名))

上記の情報は、Google My MapsにCSVとして読み込む際に必要となってきます。3つ目のURLはMy Mapsで表示した際に、Google Map

元記事を表示

【Django】ModelFormSetでフォームの初期値を設定する方法

## はじめに
ModelFormSetに初期値を設定する方法を説明します。

ModelFormは1つのテンプレートに1つしか作成することができません。
複数のModelFormを同時に作成する場合は、ModelFormSetを使用します。

## 概要
ModelFormSetに初期値を設定する方法は様々ありますが
こちらでは、ModelFormSetのインスタンス化時に初期値を設定する方法を説明します。
ビューからフォームに値を渡す方法も説明しているため、動的に初期値を設定することも可能です。
それでは、さっそく実装していきましょう。

#### モデル
以下のモデル、フォーム、ビューを例に説明します。

“`python:apps/memo/models.py
from django.db import models

class Memo(models.Model):
title = models.CharField(‘タイトル’, max_length=20)
text = models.TextField(‘内容’)

def __str__(s

元記事を表示

Qulacs向け量子回路描画ライブラリを作成したので紹介します

この記事は[量子コンピューター Advent Calendar 2022](https://qiita.com/advent-calendar/2022/quantum) 6日目の記事です。5日目は@forest1040さんの[Qulacs新機能の紹介](https://qiita.com/forest1040/items/5736662de999b5e2e844)でした。

# はじめに

こんにちは。:qiitan:[Hiroya_W](https://qiita.com/Hiroya_W)です。大阪大学 藤井研究室でプログラミングバイトをしながら、[Qulacs](https://github.com/qulacs/qulacs)のメンテナーなどをしています。よろしくお願いします。

Qulacsは、量子計算研究のための量子回路の高速シミュレーターとして開発されています。

https://github.com/qulacs/qulacs

Qulacsが提供する`QuantumCircuit`の機能を使って量子回路を構成し、量子状態に作用させるシミュレーションを行う事ができます

元記事を表示

BERTで文の埋め込みを取得

# はじめに
学習済みのBERTを使って,文の埋め込みを取得しようと思っています.色々調べてみたら,こういうコードがなさそうので,一応共有しとく.

今回はBERTを使って,mean-pooling したベクトルを計算する.

# Code

### 必要なライブラリをダウンロード

“`python
import torch
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained(“bert-base-uncased”)
model = AutoModel.from_pretrained(“bert-base-uncased”)

# GPU を利用する,GPUがなかった人はこのステップをスキップして
device = torch.device(“cuda:0”)
model = model.to(device)
“`

### ベクトルを取得

“`python
# GPU を使わない人は.to(device) を削除

def get_w

元記事を表示

GCPの無料枠サーバーを借りて、毎晩自分のスプラのデイリー戦績をツイートする仕組みを用意したい(戦績取得→ツイート)

# はじめに
[GCPの無料枠サーバーを借りて、毎晩自分のスプラのデイリー戦績をツイートする仕組みを用意したい(鯖立てるまで)](https://qiita.com/kft12/items/64ec0b6e17074fa7969e)
の後編です。

立てたサーバー内でわちゃわちゃして、スプラ3の戦績を取得→ツイートまでの流れです。

利用したもの、参考にさせていただいたサイトは前編と同様です。

# 利用したもの
* Windows10(ローカル)
* Google Cloud VMインスタンス
* ubuntu(インスタンス)
* python
* s3s
* tweepy

# 参考にさせていただいたサイト
正直、こちらのサイトを見ていただいたほうがわかりやすいし早いかもしれないです。
皆さん大変助かりました、ありがとうございます。

[これから始めるGCP(GCE) 安全に無料枠を使い倒せ](https://qiita.com/Brutus/items/22dfd31a681b67837a74)
[【GCP】無料枠でGCEのVMインスタンス作成からSSH接続・ポート変更まで](h

元記事を表示

遊戯王カードのモンスター識別アプリ~オリジナルデータセットの制作からFlaskでWebアプリ作成まで~

#目次
[1.はじめに](#1-はじめに)
[2.本記事の概要](#2-本記事の概要)
[3.この成果物を作成しようと思った経緯](#3-この成果物を作成しようと思った経緯)
[4.成果物](#4-成果物)
[5.余談](#5-余談)
[6.今後の活動について](#6-今後の活動について)
[7.おわりに](#7-おわりに)

# 1. はじめに
こんにちは。Qiita初投稿・文系出身のIT未経験者からエンジニア転職を目指し
Aidemy様の講座を受講しながら日々勉強中の事務職です。
至らぬ点やつっこみ所が満載かと思いますが、暖かくご指摘・コメントいただければ幸いです。

# 2. 本記事の概要
※これはプログラミングスクールのAidemy様に提出する為の記事です。
AIアプリ作成の準備から作成(Webスクレイピング、機械学習、アプリ制作)までを書きます。
文系出身でIT未経験者の方がこれからエンジニアを目指す際に、何かしら参考になると幸いです

# 3. この成果物を作成しようと思った経緯
どんな題材を作成しようか迷ったが、今後のやりたいことを達成するために
スクレイピングと機械学習

元記事を表示

sudachipyでchikkarpyを使う

# TL;DR
“`bash
pip install chikkarpy sudachipy sudachidict_core
“`

“`python
from chikkarpy import Chikkar
from chikkarpy.dictionarylib import Dictionary as chikkardict
from sudachipy import Dictionary, SplitMode

test_txt = ‘オンラインアイスクリーム’

chikkar = Chikkar()
chikkar.add_dictionary(chikkardict())
chikkar.enable_verb()

tokenizer = Dictionary().create(mode=SplitMode.C)
morphemes = tokenizer.tokenize(test_txt)

for m in morphemes:
print(m.surface(), chikkar.find(m.normalized_form()))
>>> オ

元記事を表示

python-constraintで数独問題を解決する

## 概要
大学の宿題でpython-constraintを使って制約充足問題(CSP)の代表ともいえる数独を解くプログラムを書かされました。
超マイナーなライブラリっぽく解説記事もあんまりなかったので自分の備忘録がてら記事にしてみます。

## python-constraintとは
https://pypi.org/project/python-constraint/

pypiに上がってるパッケージです。制約充足問題を解くためのライブラリ。
最終更新が2018年とちょっと古めではありますが、制約充足問題の定番として(特にアカデミックでは)人気のようです。

## サンプルコード
“`python
import constraint

def solver(sudoku_problem):
all_cells = [(r, c) for r in range(9) for c in range(9)]
possible_val = [i for i in range(1, 9 + 1)]
p = constraint.Problem(constraint.

元記事を表示

画像サーバーをLambda移管した時のお話

# 0.はじめに

無尽蔵にアクセスが考えられる画像に対して、まずnginxへアクセスを行い、キャッシュを挟んだ上でリバースプロキシでApacheへアクセスし、S3から画像を取得し、指定サイズにリサイズを行った上で返すアプリケーションを運用していました。

サーバーへのアクセス数は月間で数億あったため、水平スケールを拡大して数年間動いていました。

ただ、ある日突然のアクセススパイクが発生し、サーバーが応答しない事態が発生しました。

応急的にサーバーの水平スケールを拡大して対応しましたが、そもそもこれアプリケーション挟む必要あるのか…と考えてサーバーレスサービスへの移管を検討しました。

旧環境はオンプレ環境だったため、S3へのアクセスも物理的コストが高かったため、Lambdaを採用して環境を移管する事にしました。

# 1.Lambda環境の構築

以前はPHPでAWS SDKでS3から画像を取得⇒imagemagickでリサイズを行っていましたが、Python3.9を採用したため、PILとbotoで画像処理とS3からの画像取得を行いました。

**※パスはお使いのS3に最適化

元記事を表示

世界の天気情報を取得してTwitterにあげるようにした話①

# Twitterに天気情報を投稿しよう!

前回のTwitter投稿で気をよくしたわたくし
(大したことはやってないのに)
今度は何をやろうかなと思って思いついたのが
海外の天気予報サイトから情報を引っ張ってきて
Twitterに投稿すること。

## なんで作ったか
今はコロナで全然ですが
海外旅行が好きな我が家、年1回の頻度で海外に行ってました(主にヨーロッパ)。
現地の気候は事前にガイドブックやネットなどをチェックしてるのだけど
2015年7月にフィンランドのロヴァニエミに行った時のこと
ネットで見ると、最高18℃最低11℃ぐらいと。
最低は夜中だろうし、ちょっと厚手のアウターぐらいあればいいでしょ、と行ってみたら
乗り継ぎの飛行機に乗ってるみなさま、ダウンジャケット着てる…
着いてみたらめっちゃ寒い
気温見たら8℃

そりゃそうだ
平均はあくまで平均
暑い時もあれば寒い時もある

それからは旅行に行く前から現地の気温をチェックするようにしてたのだけど
毎日毎日チェックするのめんどくさい
しかも何箇所か行く場合、その分確認する回数増えてめんどくさい
さらに天気によって気温も変わ

元記事を表示

Pythonでファイルの文字コードを自動判別

## 背景
### 文字コードでエラーになる
皆さんはPythonを実行する際に、読み込んだファイルの文字コードが予定したものと違ったということはありませんか?
私はpipのライブラリ一覧をエクスポートした際に「UTF-8」と「UTF-16」になるということがあったので、備忘録として残しておきます。

## 自動で文字コードを判別するために
### 使用したライブラリ
**chardet**というライブラリを使用することによって解決できました。
公式ドキュメント:https://chardet.readthedocs.io/en/latest/

### ライブラリをインストール
> $ pip install chardet

### コードサンプル
“`python
from chardet import detect

# まず対象ファイルをバイナリーで読み込む
with open(“<対象ファイル>“, ‘rb’) as bf:
binary_data = bf.read()
encode_data = detect(binary_data)

# 再度フ

元記事を表示

MediaPipeのFaceMeshで居眠り判定AI作ってみた!

こんにちは。おもちゃで遊ぶAdvent Calendar6日目です。今回は居眠り判定をしてくれるアプリです。
仕事中って眠いですよね…。でも寝ると仕事が終わらない。そんなあなたにピッタリ!!

# はじめに
マスク有りでも検出できるの優秀ですね~。
![sleep_cnt](https://user-images.githubusercontent.com/87839643/205607063-707f8fac-cb50-48ca-b39b-f4159c445d01.gif)

ソースコードはこちら↓
https://github.com/Kentea-Watanabe/sleep_detection

# 使うもの
– MediaPipeのface_meshを使用します。

# MediaPipeのface_mesh

とても小さいですが、face_meshを使用するとこのようなランドマークの情報が格納されています。
![canonical_face_model_uv_visualization.png](https://qiita-image-store.s3.ap-nort

元記事を表示

【Flask】db.create_all()でエラーが出た時の対処法

## はじめに
Flask-SQLAlchemyでテーブルの作成をする時に“`db.create_all()“`を実行すると、何やらエラーが出てハマってしまいました。備忘録として対処方法を記録しておきます。

## 動作環境
– macOS Monterey
– Python 3.10.8
– Flask 2.2.2
– Flask_SQLAlchemy 3.0.2

## 結論だけ知りたい人へ
テーブルの定義が終わったら、pythonの対話型シェルを開き
“`python
from app import app, db
with app.app_context():
db.create_all()
“`
これを入力すればOKです。

## エラーが出た
テーブルを定義し、実際に作成する時にpythonの対話型シェルで次のスクリプトを実行しろと色々なサイトに書いていました。

“`python:対話型シェル
from app import db
db.create_all()
“`

しかし、実際に実行してみるとこんなエラーメッセージが。

“`
RuntimeErr

元記事を表示

32GB超の巨大CSVファイルの基本統計量を4GBメモリマシンで算出する

# はじめに
この記事は,[Kaggle Advent Calendar 2022](https://qiita.com/advent-calendar/2022/kaggle)第6日目の記事になります。

本記事では、 **32GB超のCSVデータの基本統計量を、小規模マシンでも省メモリかつ高速に計算するテクニック** について解説します。

Kaggleコンペに限らず、

– マシンスペックが低いため、大きなデータセットを満足に処理できず困っている 😥
– 毎回行うファイル読み込みが遅いので、もっと高速化したい ⚡

といった悩みや課題を抱えている方の参考になれば幸いです。

# モチベーション
データ分析業務やKaggle等のコンペティションで初めてのデータセットを扱う場合、いきなり機械学習アルゴリズムを行うことはまず無く、**最初にデータ観察を行う**のが一般的です。

テーブルデータであれば、各カラムの基本統計量(最小値、最大値、平均、分散、四分位数)などを計算・可視化し、データクレンジングの要否や特徴量設計の方針などを検討します。

![ML ワークフローの各段階を

元記事を表示

nurbsCurveの見た目だけスケールさせたい

transformノードの数値は変えずに
nurbsCurveのshapeのみをスケールさせたい。

シアー対策で jointノードにnurbsCurveをparentしているので、inverseScaleが発生している状態
親のコントローラーがスケールした際に子のコントローラーの見た目上のスケールも変化させたいなぁと。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1484234/527360db-66bc-23fe-12a7-7eecc52cedc9.png)

shapeだけに任意の変形を与える・・・・

– デフォーマーをかける
– CVに直接数値を放り込む
– transformGeometry

一旦 transformGeometry でやってみようかと。

transformGeometryとは

名前からするとGeometry を transform しますね。

![image.png](https://qiita-image-store.s3.ap-north

元記事を表示

pyarrowでhdfsを操作する

この記事は MicroAd Advent Calendar 2022 の6日目の記事です。

https://qiita.com/advent-calendar/2022/microad

こんにちは。
マイクロアドのタカギです。
この記事ではpyarrowを使用してhdfsを操作してみた件について書いていきたいと思います。

# PyArrowとは

> Apache Arrow は大規模なデータをメモリに読み込んで処理するためのプラットフォームで、高速なデータ転送やファイル入出力機能など、効率的なデータ処理に必要な機能を提供してくれます。PyArrowはAppache ArrowのPythonインターフェースで、NumPyやpandasと連携して、Apache Arrowを利用できるようになっています。

引用
https://aish.dev/python/20200728_pyarrow.html

ドキュメントなど
https://arrow.apache.org/overview/
https://arrow.apache.org/docs/python/index.htm

元記事を表示

Py-Featで顔検出と表情認識やーる(Python 3.9、Windows 10)

# はじめに
Py-Featで顔検出と表情認識やっていきまーす

https://py-feat.org/pages/intro.html

# 開発環境
– Windows 10 PC
– Python 3.9

# 導入

1.py-featをインストールします

pip install py-feat

2.下記プログラムを実行します。画像から一つの顔を検出します。

~~~single_face_detection.py
from feat import Detector
import numpy as np
import cv2

detector = Detector(
face_model=”retinaface”,
landmark_model=”mobilefacenet”,
au_model=’jaanet’, # [‘svm’, ‘logistic’, ‘jaanet’]
emotion_model=”resmasknet”,
)

# single_face_prediction = detector.detect_image(“

元記事を表示

Renpyでちょっと遊んでみた

## はじめに
この記事はNE Advent Calendar 2022のカレンダー1枚目の記事です。
いざ、Pythonでノベルゲームを作ろう!という機運があり、[Renpy](https://ja.renpy.org/)というビジュアルノベルエンジンを触ってみました。
その時に学んだことを少し、こちらで紹介させていただこいうと思います。

## RenpyはPythonが書ける
Renpyでは、ゲーム上で表示させるキャラクターやテキスト、背景などの様々なゲーム要素を、`.rpy`という拡張子のファイルに独自の記法でスクリプトを記述していきます。
また、`.rpy`ファイルの中でにpythonを記述するためのブロックを用意することで、Pythonコードを書くことができます。

“`script.rpy
init python:
# pythonコード

label start:
# スクリプトを書くところ
“`

Pythonがかけるので、Pythonでできることなら大体なんでもできそうです。
例えば、オブジェクト指向な書き方とか……。

“`scrip

元記事を表示

MWAAとは何か? AWS公式リファレンスの原文にあたってみた

しばらくぶりに[Apache Airflow](https://airflow.apache.org/)についての調べ物です。
今回は[Amazon Managed Workflows for Apache Airflow](https://aws.amazon.com/jp/managed-workflows-for-apache-airflow/)、略してMWAAの公式リファレンス[原文](https://docs.aws.amazon.com/mwaa/latest/userguide/what-is-mwaa.html)にあたりました。
かなり端折ったかたちですが抄訳を載せておきます(末尾に「そもそもなんで原文にあたるんだ」の説明アリ)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50571/b5be0755-4cac-d5cc-ead3-1d9609a839e2.png)

# MWAAとは?

* Apache Airflowを自動で構築・運用するマネージド・サービス。

元記事を表示

【Python】pulpで1日の献立のPFCバランスを最適化する

[新卒エンジニアによる全部俺カレンダー2022](https://qiita.com/advent-calendar/2022/arie_onlyme2022) 6日目投稿記事です。

## 概要
近年リモートでの勤務が主体となる中、自炊する方も増えてきているのではないでしょうか。
日頃自炊する中で「栄養バランスが整った食事を摂りたい」と健康を意識して料理をする人も増えてきているみたいです。
しかし、「栄養バランスを意識しながら毎日献立を考えるのはめんどくさいな・・」と思うこともしばしばあります。

そこで、pythonのpulpというライブラリを使ってPFCバランス*が最適化された1日の献立を作成するツールを作成してみました!

***PFCバランス**
健康維持に不可欠な3大栄養素である Protein(タンパク質), Fat(脂質), Carbohydrate(炭水化物)それぞれの頭文字をとった言葉。

https://online.konamisportsclub.jp/page/ksc/products/original/application/caloridiet/pfc-

元記事を表示

OTHERカテゴリの最新記事