Python3関連のことを調べてみた2021年10月26日

Python3関連のことを調べてみた2021年10月26日

【厳選】最低限のpandasテクニックを習得できるpandas64本ノック

2021/10/26 (最終更新日: 2021/10/26)

# はじめに
機械学習を勉強しようと思ったらまずpandasの基礎を固めるのが機械学習エンジニアへの近道!
そこでpandasを勉強しようと思い調べるとpandas100本ノックなるものがたくさん出てきますね。

私もいくつか利用してpandasを学んできましたが、問題数を100本に満たすために同じような問題やpandasではないライブラリの問題が混ざったりしていたので今回は純粋なpandasノックを作成してみました。

全部で64問。
問題はipynbファイルにて作成しております。
各問いには見出しがついているので辞書のようにpandasでわからないことを調べることもできるように作りました。

問題はgithub上(以下URL)に公開しています。
自分の学習環境上にcolneして利用していただければと思います。
https://github.com/gotty21/basic_pandas-64-knocks

# 使い方
cloneしてきたフォルダ内には以下が入っています。

|名前|説明|
|—-|—-|

元記事を表示

【YOLOv5】マスク着用判定モデルの作成

# はじめに
YOLOv5を用いての物体検知について勉強したので、マスクを着用しているかどうかを検出するモデルを作成してみました。

# ライブラリの準備

今回は、pytorchで書かれたyolo v5を用いるので、以下のコマンドでgitからクローンしてきます。
pythonのバージョンは`3.8`以上だと良いみたいです。

“`
$ git clone https://github.com/ultralytics/yolov5.git
“`
次に、必要なライブラリをインストールします。

“`
$ cd yolo5
$ pip install -r requirements.txt
“`

# データの準備

アノテーション済みのマスク画像データを提供している[Mask Wearing Dataset](https://public.roboflow.com/object-detection/mask-wearing)からデータをダウンロードします。
ダウンロードボタンを押して、以下の画像のように、`YOLO Darknet`を選択します。
![スクリーンショット 2021

元記事を表示

ターミナルからPythonパッケージの依存関係を探すコマンドを作ってみた

## はじめに
 Pythonには多くのパッケージがありますね。そのパッケージを管理するためにpipを使っている人も多いのではないでしょうか。pipは簡単にパッケージを導入できるシステムですが、パッケージ同士の依存関係がわからない!なんてことに直面したことはありませんか?~~(私はあります。)~~

 インストール済みのパッケージなら、ターミナルから調べることができますが、インストールしてあるかどうかに関わらずうまく調べる方法はないものか?と思い、シェルコマンドを作ってみました。

## 環境
* MacBook Pro 2017
* macOS Big Sur 11.6
* Python 3.10.0
* Z Shell 5.8

## インストール済みのパッケージの依存関係を調べる

 復習にはなりますが、インストール済みのパッケージの依存関係は、ターミナルから次のように調べることができます。

“`zsh:terminal
$ pip3 show <パッケージ名>
“`

 例として、numpyについて調べてみると、以下のように出力され

元記事を表示

django transaction.atomic() + 自前エラークラス

を書くんだよ

tryの中でこけると、user.save()はrollbackされる。
うまくいったところだけ保存したいならwith transaction.atomic()は外す

“`python

class UserNameError(BaseException):
“”” UserName must contain two ‘@’ s. An example is ‘MailAddress@Organization_name'”””
pass

if organization.name != params[“name”]:
users = User.objects.filter(organization_id=organization_id)
try:
with transaction.atomic():
for user in users:
user_name = user.username

元記事を表示

【Python3】0から作るPython初心者プログラミング【02】-じゃんけんプログラムをクラス化する-

#【ご挨拶】こんにちは! ぬかさんエンジニアリングです。(2回目‼)
前回の投稿にありがたいことにコメントを頂きまして、じゃんけんプログラムをより簡潔に書ける方法を教えていただきました。
今回はそれらの内容も含めてじゃんけんプログラムを**関数化**、そして**クラス化**というように**進化**させていく内容になっています!
普段クラスから作っているという方も、順を追ってみていくことで**関数とクラスの便利さに気づけるような構成**になっていますので最後まで見て頂けると嬉しいです!
**LGTM**も是非宜しくお願い致します‼

#本シリーズ初めての方へ

【趣旨】

Python初心者プログラマーが入門書で学ん

元記事を表示

バッチ処理にCloud Runを使用する時にタイムアウトを乗り越える

自分の周囲でCloud Run熱が高まっているようなのですが、それに乗っかるためにやってみた系の記事です。
Cloud Runでバッチ処理をする際に気になってしまうタイムアウトについて、中断時点から容易に再開できるpythonのgokartというライブラリとCloud Tasksで気にしなくて済むようにしようという試みです。(新規性はわかりません)

コードはこちら
https://github.com/Ryusuketa/cloud-run-long-batch

## Cloud Runをバッチ処理に利用する
意外とバッチでのデータ処理をいい感じにクラウド上で動かしてくれるサービスがあんまりありません。
そこそこ複雑な処理を書くにはGCPのCloud Workflowsでは物足りず、
甘ったれ園児ニアとしてはデータ処理に向いたPythonでぺっと自由に処理を書いてDocker imageに依存もパッケージングしてデプロイしていい感じに動いていて欲しいです。App EngineやEBもやりたいことに対して手間だなってレベルの園児です。
また実行頻度とコストの兼ね合いで、インスタンスを

元記事を表示

pipインストール手順

#環境
windows10
python3.9
エディタ VSCode

#事象
pythonをインストールしたが、pipがインストールできていなかった。
[No module named pip]とあるが、python3.4以上は、pipは自動インストールでは?と非常に悩んだ。
調査するとpowerShellは最新のバージョンにアップデートしてみると良いとあったので、
最新にしてみた。

python3.9 の保存場所は以下。
C:\Users\xxx\AppData\Local\Programs\Python\Python39\python.exe

“`python:コマンドプロンプト
>python –version
Python 3.9.2

> py -m pip install
C:\Users\xxx\AppData\Local\Programs\Python\Python39\python.exe: No module named pip
PS C:\Users\xxx\AppData\Local\Programs\Python\Python39> pip lis

元記事を表示

2つのPyTorchモデルの重みの平均を計算する

# はじめに
PyTorchの2つの機械学習モデルの重みを平均してみました。

モデルの`state_dict`を取得することで、パラメータに直接計算を加えることができます。

# 環境
* Python 3.9.5
* torch 1.9.0+cu111
* torchvision 0.10.0+cu111

# 準備
モデル同士の足し算と、モデルの定数倍を行う関数を定義。

### モデル同士の足し算
“`Python:sum_model.py
def sum_model_params(modelA, modelB):
“”” modelA + modelB “””
sdA = modelA.state_dict()
sdB = modelB.state_dict()
for key in sdA:
sdB[key] = (sdB[key] + sdA[key])
modelB.load_state_dict(sdB)
return modelB
“`

### モデルの定数倍
“`Python:milti_

元記事を表示

【Windows】Python3.10のインストール(パス通し)

## はじめに

2021年 10 月上旬からPython3.10が使用可能になってます。
長らくPython3.9を使用していました。しかし、新しいバーションにも
対応したいということで、最新版をインストールする流れになりました。

その時のメモ書きです。

## ダウンロード&インストール

Pythonをインストールするために適当にググります。
「Download Python」でもいいのですが、
「Windows版Pythonのインストール:Python環境構築ガイド」が分かりやすかったです。

![ググる](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/577794/1b261c1f-bfac-bcbf-fcd0-fab3602dbdd5.png)

https://www.python.jp/install/windows/install.html

解説が画像付きで非常に分かりやすく、簡単にインストールできます。
善きかな。

ちなみに、インストールの説明で「パスを通す設定にすること」が強調されてい

元記事を表示

AtCoder Beginner Contest 224

##[A – Tires](https://atcoder.jp/contests/abc224/tasks/abc224_a)

O(1)

“`C++:C++
#include

#define rep(i,n) for(int i=0; i<(n); ++i) #define fixed_setprecision(n) fixed << setprecision((n)) #define execution_time(ti) printf("Execution Time: %.4lf sec\n", 1.0 * (clock() - ti) / CLOCKS_PER_SEC); #define pai 3.1415926535897932384 #define NUM_MAX 2e18 #define NUM_MIN -1e9 using namespace std; using ll = long long; using P = pair;
template inline bool chmax(T& a

元記事を表示

Python C# データ連携

こんにちは、本日はPythonとC#間でデータのやり取りをする方法を紹介します。
使用する技術は「共有メモリ」です。

## 動作の仕組み

1. Pythonで名前付き共有メモリの作成
2. C#でPythonで作成した共有メモリを開く
3. 相互にデータの読み書きを実施

## 環境

**Windows10**
※名前付き共有メモリを利用するにはWindowsOSを利用する必要があります。

pythonでの名前付き共有メモリはWindowsでしか利用できません。。。
「tagname」の引数が共有メモリの名前です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/586845/8a76893d-5bc1-5172-7fda-8908e7e27605.png)

Linux、Macなどでは無名の共有メモリを利用するか、
ファイルベースの共有メモリを利用するしかできません。

## ソースコード

今回のプログラムはPythonで共有メモリの1WORD目の値をインクリメントしてい

元記事を表示

オムロン環境センサ(2JCIE-BU)をラズパイで使ってみた。(6)

音声合成ができたので、流れで音声認識もやっていきます。

今回はオープンソースのJuliusを使っていきます。

https://julius.osdn.jp/index.php

# USBマイクの接続

今回使うのは、こんなマイクです。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/36fa5067-b8d9-447d-d068-7e4606312f47.png)|
|:-:|

Amazonで、599円でした。

マイクを認識しているかの確認

“`shell-session:マイク未接続
pi@raspberrypi:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0590:00d4 Omron Corp.
Bus 001

元記事を表示

文系卒が数学オリンピックをPythonで解く(2021年予選編その1)

#これまでのあらすじ
– 文系卒の私。でも数学になじみたい。
– ふむふむ、数学オリンピックというのがあるらしい。やってみますか。
– 紙とペンを使ってマジメに解く文系卒。えらい、えらいぞ!
– 5分後にふと衝撃走る。「これPythonでやったほうが早くない?」
– そんな、いつか 誰かに 本気で怒られそうな気づきを 実行したのであった──。

#ルール
– 数学オリンピックの問題をPythonで解く。
– ライブラリは可能な限り使わない。例外的にitertoolsは使う。
– 図形の問題は挑戦しないかも。許してね。
– 式変形すれば解けるようなものも面白味がないので対象外。

#引用元
問題はこちらから引用しております。

[第31回(2021年)JMO予選の問題 – 数学オリンピック](https://www.imojp.org/archive/mo2021/jmo2021/problems/jmo31yq.html)

https://www.imojp.org/archive/mo2021/jmo2021/problems/jmo31yq.html

#Q1
##問題
>互い

元記事を表示

コマンドを打つとチャンネルを作ってくれるdiscordbotをPythonで作ろう

#Botとは

一般的なBotはいい印象はないそうです。
([総務省HP](https://www.soumu.go.jp/main_sosiki/joho_tsusin/security_previous/kiso/k04_bot.htm#:~:text=%E3%83%9C%E3%83%83%E3%83%88%EF%BC%88BOT%EF%BC%89%E3%81%A8%E3%81%AF%E3%80%81,%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A6%E3%82%A4%E3%83%AB%E3%82%B9%E3%81%A7%E3%81%99%E3%80%82&text=%E5%A4%96%E9%83%A8%E3%81%8B%E3%82%89%E8%87%AA%E7%94%B1%E3%81%AB%E6%93%8D%E3%82%8B,%E3%81%A8%E5%91%BC%E3%82%93%E3%81%A7%E3%81%84%E3%81%BE%E3%81%99

元記事を表示

kivyMDチュートリアル其の参什玖 Components – Snackbar篇

ハロー、Qiita。いかがお過ごしでしょうか。

はい、ということで今週も相変わらず開いております。少し肌寒いというかめちゃ寒
でしたが、体調は崩してはいませんでしょうか。この業界は体資本、というかビジネス
マンであれば全てと言っても過言ではないくらい体を使います。体調は万全にしておき
たいですね。

今週のニュースはというと、特にとりとめもなかったかと思います。私の調査不足という
ことはなしにしてください。。

で、今週のKivyMDのテーマは、Snackbarとなります。下の方で伝えたいメッセージを
ピローンと出すやつですね。ではさっそく元気でやっていきます。えいえい、えいー。

## Snackbar

毎回のことですが、マテリアルデザインのリンクは飛ばします。KivyMDとかでは仕様を
守って実装されているのでそれほど気にする必要はありませんが、結構見落としがちな
ことなどを書かれています。例えばボタンはテキストと同じにしないとか、このボタン
のスタイルは使っちゃだめよとか。気になる方は一度ご覧いただけたらと。

マニュアルの方でもこのように概要が書かれています。

> Sna

元記事を表示

[ Python ] クラス変数とインスタンス変数

`class`をpythonで宣言する際に、クラス内変数を宣言することがあります。
特にクラス内で値を追加したり削除したりするリストを使いたい場面がよくあります。
クラス内変数の宣言方法や「クラス内変数」という呼び方が実は曖昧な呼び方であったことを知ったので備忘録としてまとめていきます。

[以下は、公式ドキュメントから引用しています。](https://docs.python.org/ja/3/tutorial/classes.html)

– 一般的に、**インスタンス変数**はそれぞれのインスタンスについて固有のデータのためのもので、**クラス変数**はそのクラスのすべてのインスタンスによって共有される属性やメソッドのためのものです:

“`python
class Dog:

kind = ‘canine’ # class variable shared by all instances

def __init__(self, name):
self.name = name # instance varia

元記事を表示

【python3】jsonファイルの読み書き

# jsonファイルの読み書き
同じ内容を何度も調べている気がします。
アウトプットしなければ覚えられないという結論に至ったので
jsonファイルの読み書き関数を記事にまとめます。

## コード
“`handle_json_file.py
import json
import os

def write_json_file(path, file_name, data):
“””
辞書データをファイルに書き出す

:param path: 親フォルダのパス
:param file_name: ファイル名
:param data: 辞書データ
“””
file_path_name_with_ext = os.path.join(path, file_name + ‘.json’)
with open(file_path_name_with_ext, ‘w’) as fp:
json.dump(data, fp)

def load_json_file(path, file_name):
“”

元記事を表示

オムロン環境センサ(2JCIE-BU)をラズパイで使ってみた。(5)

今回は、センサーの話はあまりなく、ラズパイで音声合成のメッセージを流すまでの作業の記録です。
最後に、センサーから取得したデータから何らかのメッセージ(温湿度とか熱中症注意のめせーじとか)を流すことを目標としています。

# ラズパイとスピーカー

100円ショップで購入したスピーカーをラズパイに接続しています。
いろいろとあったので最後に追記。

# Audioの設定

“`shell-session:
pi@raspberrypi:~ $ sudo raspi-config
“`
「1 System Options」を選択します。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/2141ca63-ce15-99db-24f0-25686b4e179c.png)|
|:-:|

「S2 Audio」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2818

元記事を表示

boto3でECSを使ってブログ開設するまでを自動化

# 開発前の状態

* 今後の仕事でAWSを触ると聞き,知識ゼロなのでヤバみを感じた
* とりあえず本を買って勉強して雰囲気は掴んだ気になっている
* https://www.amazon.co.jp/Amazon-Web-Services-基礎からのネットワーク-サーバー構築/dp/4822237443
* GUIぽちぽちすればやりたいことはできると感じたが,さらなるステップアップをするためにはどうしたらいいか悩んだ
* これまでの仕事でAnsibleなどによる環境構築自動化や,dockerなどのコンテナ技術のありがたみは非常に実感していた
* なので,
* 環境設定をすべて自動化し
* EC2上での作業を予めDockerImage化しておいてデプロイところまで頑張ってみたいと思った

# コード

https://github.com/fugashy/aws_network_and_server_sample

## やっていること

* VPCからECSのサービス開始までを全自動化
* VPC,Subnetなどを依存関係に注意して作成していく

元記事を表示

pythonを使ってRestAPIでファイルを取得する

#はじめに
pythonでRestAPIを実行し、テキストファイルを取得し、保存するコードです。

######環境
python3.9.6

#サンプルコード

“`python
import requests

url = ‘https://[対象のURL]’
headers = {‘Content-Type’:’application/json’,’xxx-key’:’‘}

try:
#APIで隔離メールをダウンロード、失敗したらエラーを出力
response = requests.get(url , headers=headers)
response.raise_for_status()
except requests.exceptions.RequestsException as e:
print(“エラー:”,e)

#ファイルを取得できた場合に、filename.txtとしてファイルを保存する。
if response.status_code == 200:
with open(“filename.txt” ,mod

元記事を表示

OTHERカテゴリの最新記事