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

Python3関連のことを調べてみた2022年08月01日
目次

SIGNATE StudentCup2022【予測部門】探索的データ分析(EDA)

この記事では、SIGNATE StudentCup2022Summerの[データサイエンティストの職種判別チャレンジ](https://signate.jp/competitions/724)の予測部門のデータについて探索的データ分析(Explanatory Data Analysis, EDA)を行います。

大まかに以下のことを行います。
* jobflagの内訳(Train)
* Train/Testの重複データ確認
* Train/Testデータの単語数比較
* Trainデータの職種別単語数比較
* 単語出現頻度分析
* 単語の出現に基づく職種の予測(ルールベース)

## import/初期設定
“`python
import numpy as np
import pandas as pd

import seaborn as sns
import matplotlib.pyplot as plt

import warnings
warnings.filterwarnings(“ignore”)

%matplotlib inline
sns.set_style(“wh

元記事を表示

GANの訓練ループでよく見るdetachは何をしている?

# どんな記事?

以下は[“Inside Deep Learning”](https://github.com/EdwardRaff/Inside-Deep-Learning/blob/main/Chapter_9.ipynb)という本に載っているGANの訓練ループの一部です.(見やすいように一部編集しています)

“`python
optimizerD = torch.optim.AdamW(D.parameters())
optimizerG = torch.optim.AdamW(G.parameters())

G_losses = []
D_losses = []

for epoch in tqdm(range(num_epochs)):
for data, class_label in tqdm(train_loader, leave=False):
real_data = data.to(device)
y_real = torch.full((batch_size,1), real_label, dtype=torch.fl

元記事を表示

AIの波に乗る為にアイデアを考えて、検討して、挫折するまでの経緯

# 1.概要

## 1-1.はじめに
 タイトルにもある通り、失敗談となる。
 右も左も分からないなりに4か月ほど進めてみた結果、頓挫となったアイデアについて、一部始終を思い出せるだけ書いてみることにした。
 備忘録を残すことで、次に似たようなことをする際に参考になればよいと思ったのと、アイデア供養のつもりである。

## 1-2.背景
 AIの時代と呼ばれてから久しい。
 波に乗り遅れているのは重々承知ではあったのだが、それでも、ITに携わっているものとしては、どこかのタイミングで知っておきたかった。
「AIに仕事を取られる」「シンギュラリティ以降、文化文明が変わる」予言を出す本は数多くあったし、
 現に「AIのべりすと」をはじめ、人工知能を用いた有益なサービスは形となっているし、
 そもそもGoogleやAmazon、Youtubeといった誰もが使っているサービスにはAIが関与している。
 どういったメカニズムか、どれだけ発展しているのか、向き不向きはどんなものか、敷居はどれだけ高いのか。自分が思い描いている人工知能は、実態とどれくらい離れているのか。
 初歩的な情報も含めて、

元記事を表示

Python3: Yahoo 郵便番号検索API の使い方

参考ページ
[郵便番号検索API](https://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/zipcodesearch.html)

“`py:get_address.py
#! /usr/bin/python
#
# get_address.py
#
# Jul/31/2022
#
# ——————————————————————
import sys
import os
import json
import requests
from dotenv import load_dotenv
# ——————————————————————
sys.stderr.write(“*** 開始 ***\n”)
#
dotenv_path = ‘.env’
load_dotenv(dotenv_path)
APPID = os.env

元記事を表示

Python Beautiful Soupでパースで文字化けしたときに読む記事

# 結論

:::note
BeatutifulSoupの第一引数に、requests.getのレスポンスをresponse.text、response.encodingでエンコーディングして文字列型で指定すると文字化けになることがある。文字化けを回避するには、response.contextとしbytes型を指定する。
:::

理由は、レスポンスHTMLに問題がある。原因は、Content-Typeのエンコーディング(charset)がおかしかったり、指定されてなかったりするからだ。

:::note warn
BeautifulSoupはstr型かbyte型で指定できる。
:::

#### requests側でエンコーディング(文字列型で指定)
– **response.encoding** : Content-Typeのエンコーディング
– **response.text** : response.encodingでデコードされたstr型のレスポンスボディ

#### BeautifulSoup側でエンコーディング(bytes型で指定)
– **response.cont

元記事を表示

既存のDjangoプロジェクトを使ってDjango+Nginx+MySQL環境をDockerで構築する

# 目標
既存のDjangoプロジェクトをdocker-composeで起動する。
# 筆者の環境
| 項目 | バージョン |
|–|–|
|wsl2|Ubuntu 20.04 LTS|
|Docker|version 20.10.17, build 100c701|
|docker-compose|version 1.29.2, build 5becea4c|
# 対象
1. 既にDjangoのプロジェクトを持っていてGitHubにあげている。(GitHub専用ではないのでGitさえ使えれば良いです。)
1. Dockerが使える
1. docker-composeが使える
# 対象かどうかをチェック
Dockerが使えるかどうか
“`bash
$ docker –version
Docker version ~.~.~, build ~~
“`
docker-domposeが使えるかどうか
“`bash
$ docker-compose –version
docker-compose version ~.~.~, build ~~
“`

元記事を表示

Python3: テキストをルビ付きの HTML に変換

次のページを参考にしました。
[ルビ振り](https://developer.yahoo.co.jp/webapi/jlp/sample/sample10.html)

次のようにルビを振ります。
>「最後」のルビは誤りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/2f6f7ff0-c667-227e-67c0-f5aadb259d96.png)

“`py:add_ruby.py
#! /usr/bin/python
#
# add_ruby.py
#
# Jul/29/2022
# ——————————————————————
import sys
import os
import json
from urllib import request
from dotenv import load_dotenv

from parse_results import

元記事を表示

Pythonで自分専用のALEXAを作りました

# 1.はじめに

AmazonのAlexaをpythonで作りたいと思い、試行錯誤を繰り返し、ようやく出来上がりました。
オリジナルのAlexaとはほど遠いですが、条件分岐を記述することである程度の質問には答えてくれました。
これからも改良を続けていきます。

# 2.環境
windows10

# 3.準備

## Speech_recognitionのインストール
“`
$pip install speechRecognition
“`
## pyttsx3のインストール
“`
$pip install pyttsx3
“`
## pywhatkitのインストール
“`

$pip install pywhatkit
“`
## wikipediaのインストール
“`
$pip install wikipedia
“`
# 4.実装

“`main.py
import speech_recognition as sr
import pyttsx3
import pywhatkit
import wikipedia

recognizer = sr.Recogn

元記事を表示

Python3でRM mini3をコントロール

以前はBlackBeanControlなどにPython2が必要だったのが、
Python3だけで使えるようになったのでセットアップメモ

# 環境
Ubuntu 22.04
Python 3.10.4
RM mini 3

Raspberry Piでも確認
 Kernel version: 5.15
 Debian version: 11 (bullseye)
 Python 3.9.2

# 前提
既にRM mini 3がネットワークに繋がっていること。

# python-broadlinkインストール

pipでpython-broadlinkをインストール

“`bash
sudo apt install git pip
pip3 install broadlink
“`

必須ではないがテスト用にcliを取ってくる

“`bash
cd
git clone https://github.com/mjg59/python-broadlink.git
cd python-broadlink/cli
“`

#### 動作確認
こんな感じでRMMINIが見つかればO

元記事を表示

Python チュートリアル第4版のそのままでは動かないコードに加筆して解説する試み

Python 3 エンジニア認定基礎試験の公式テキストとして、オライリーのPythonチュートリアル第4版が指定されています。

しかしチュートリアルとはいいつつも完全な初心者が読むにはやや不親切な場所が目立ちます。

特にそっくりそのまま写しても実行できないコードが何の注意書きもなく書かれているのは初心者泣かせです。
なので、私NMRが(自信はありませんが)加筆することで最低限動くコードとしてみようかなと思います。

私自身Python初日かつ、経験は浅いので修正箇所を見つけた場合はなるべくわかりやすく教えていただけると助かります。

また、熟練者から見ると「その言葉遣いは誤解を招く」などあると思います。
そういった表現の訂正も歓迎です。

### 第4章 4-2 P24のfor文

このコードで筆者が言いたいことの意訳。

Pythonを書いている時に「コレクション(リストやセットのこと)に要素を追加、削除したい」ということがあると思います。
例えば100人の顧客リスト「UserListA」の女性だけを削除して、男性だけの「UserListB」を作りたいなどです。
直感的に考える

元記事を表示

VSCodeでPython書いてる人はとりあえずこれやっとけ〜

## はじめに
Pythonはコードが汚くなりがち(個人的にそう思う)
そんなPythonくんを快適に書くための設定を紹介します。

## 拡張機能編
ここでは **Pythonを書きやすくするため** の拡張機能を紹介していきます。

### 1. Error Lens
image.png

#### before
「コード書いたけど、なんか波線出てるよ?」
記述に問題があった場合、デフォルトでは波線が表示されるだけ。。。
image.png

元記事を表示

OpenAI gymでAtariをインストールするまで

gymの仕様変更に伴って,Atariのインストール手順が少し変化したので,自分用のメモ
## インストール方法
“`shell
pip install gym[atari]
pip install autorom
pip install gym[accept-rom-license]
“`
gym経由でatariをダウンロードするのに加えて,自前でAtari ROMをインストールする必要がある.一応,ROMの使用は研究目的のみ可みたいなことが書いてあったりするので,その辺を注意する必要がある.

## 備考
gym==0.19.0だとROMをインストールしなくても,gym[atari]だけでAtariを動かすことができる.ただし,Defenderのゲームだけgym.makeするとハングアップする現象が確認されたので,もしDefenderで実験したい場合は上記で示した最新パージョンでのセットアップを行う必要がある.

元記事を表示

DjangoのWebアプリケーションにユーザ認証を追加する(django-allauth)

# 1. はじめに
前回の「[DjangoでHello Worldを表示する](https://qiita.com/t-shirayama/items/bc18d924dc672c7215cd)」で作成したWebアプリケーションにユーザ認証を追加していきます。

# 2. Djangoのユーザ認証について
Djangoは標準でユーザ認証システムを搭載しています。Djangoの複数のビューを使って、ログイン、ログアウト、パスワード管理を行うことができますが、認証ビューに対してデフォルトのテンプレートはありません。
そこで今回はテンプレートも含まれるdjango-allauthを利用し、さらに簡単にユーザ認証を追加します。

# 3. django-allauthのインストール
pipコマンドでdjango-allauthをインストールします。
“`
pip install django-allauth
“`
# 4. setting.pyの変更
setting.pyにユーザ認証の設定を追加します。追加や変更していない箇所は省略しています。

“`setting.py
import

元記事を表示

スクレイピイング途中のAttributeError: ‘WebDriver’ object has no attribute ‘find_element_by_id’の解決策

## 課題
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1446396/1bd0fa63-0fc3-72f5-8ea3-0dc2ecb6de98.png)
JupyterLabでスクレイピングを行おうとしたら
AttributeError: ‘WebDriver’ object has no attribute ‘find_element_by_id’
とのこと。

## 仮説
・タイプミス
・取得しようとしてる場所がおかしい

## 原因
結局仮説は外れており、ぐぐったらすぐ出てきた。
seleniumのバージョン4以上から、find_element_by_xxxのメソッドが使えないみたい。
以下コマンドでバージョンを確認してみると…

“`
pip list
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1446396/5a7b6657-11db-fedb-18f3-a

元記事を表示

投稿の前に

投稿の前に,単純な準備を

コードブロックについて

単に  \`\`\`  とする人が多いですが,言語により,
たとえば Python ならば  \`\`\`Python  としましょう

注釈記号  # の後には 半角空白を置きましょう

その他,プログラムの書式については,多くありますが,たとえば

https://python.keicode.com/lang/control-basic-rule.php

その他を見ましょう。

人様に見せるプログラムは,動けばいいというものではないのです。

元記事を表示

`python get-pip.py`実行時にエラー(This script does not work on Python 3.6 The minimum supported Python version is 3.7.Please use https://bootstrap.pypa.io/pip/3.6/get-pip.py instead.)

`python get-pip.py`実行時にエラー

“`
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
ERROR: This script does not work on Python 3.6 The minimum supported Python version is 3.7. Please use https://bootstrap.pypa.io/pip/3.6/get-pip.py instead.
“`

エラーログのうち、以下に素直に従うことで解決
> `Please use https://bootstrap.pypa.io/pip/3.6/get-pip.py instead.`

“`
$ curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip.py
$ python get-pip.py
# OK
“`

# 参考

https://www.bioerrorlog.work/

元記事を表示

Flask-Limiterインターフェースのアクセス周波数制限

# Flask-Limiterインターフェースのアクセス周波数制限

flask-limiter-サードパーティの周波数制御プラグイン
ドキュメント:[FlaskLIMITER](https://flask-limiter.readthedocs.io/en/stable/)
フラスコリミッターは、クライアントのアクセスレートを制限するフラスコ拡張機能です。アクセス(速度)制限をカスタマイズして、制限をトリガーするリクエストを除外できます。通常、クローラーを制限するために使用されます。

## 実現方法

“` python

# -*- coding: utf-8 -*-
from flask import Flask
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
app = Flask(__name__)
limiter = Limiter(
app,
key_func=get_remote_address,
# 1日に何回、1時間

元記事を表示

【Python】娘(当時1歳半)との尊い会話シミュレーター

## 概要

娘(当時1歳半)との尊い会話のシミュレーターを、Pythonで再作成しました。

ExcelVBAバージョンはこちら。

https://qiita.com/AnPanda/items/da66bbf657e8712f1322

## コード

“`python
import random

words = [“ばなな”, “もも”, “すいか”, “りんご”, “ぱんだ”,
“いぬ”, “ねこ”, “たこ”, “いか”, “なっとう”]
n = random.randint(1,6) #1-6でランダム

for i in range(n): #質問を最大6回繰り返す
nani = input(“なーにーなーにー? >>”)

if nani == “”: #空白の場合、再度質問
continue
elif nani in words: #単語リストに存在する場合、応答
print(nani + “!”)
else: #単語リストに存在しない場合
yesno = input(“

元記事を表示

[公開版]AtCoder Beginner Contest せっかくだから書いたコードを公開(随時更新)〜Python編〜

# AtCoder Beginner Contest 254
https://atcoder.jp/contests/abc254/tasks/abc254_a
## A – Last Two Digits
“`python
n=input()

print(n[-2]+n[-1])
“`

# エイシングプログラミングコンテスト2022(AtCoder Beginner Contest 255)
https://atcoder.jp/contests/abc255/tasks/abc255_b
## B – Light It Up
“`python
import math

n,k = list(map(int,input().split()))
a = list(map(int,input().split()))
#全員の座標
coordinate=[]

#n回
for i in range(n):
x = list(map(int,input().split()))
coordinate.append(x)

#rの最大値を保存する変数
r=10**100

元記事を表示

ラズパイで作る防犯システム

# こんな感じのが出来上がります
https://drive.google.com/drive/u/0/folders/167T2ZkFCb-YmOti_iWxH_3-KOo-6vbMA

# 動機
自分が外出時誰かが家に侵入したことを報告し、その侵入者を撃退するため。

# 目的
Webカメラと人感センサーで侵入者を感知、それと連動して圧電ブザーを鳴らしたり人の声をopenjtalkで侵入者を撃退する。同時にLINEで侵入者の年齢、性別、顔写真を主人に報告する防犯システムの開発。

# 機能ポイント
人感センサーが反応すると、webカメラが侵入者の顔を撮影。
侵入者の顔をディテクトする。
侵入者の年齢を判定。
侵入者の性別を判定。
感知したことで圧電ブザーによって警報音を出す。
圧電ブザーの音量、音程を調節するため、用意された抵抗の中で最小の200Ωにセット。「ドレミファソラシド」とメロディーを奏でる。
スイッチを押すことで、監視をスタートさせる。
スピーカーでopenjtalkツールによって人間の声を発する。
(例えば、「監視をスタートします。」など)

# システムアーキテ

元記事を表示

OTHERカテゴリの最新記事