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

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

[python] youtubedl

youtubedl_convert_mp3
ただのメモ

“`
# -*- config: utf-8 -*-
#——————————————————————————
# import
#——————————————————————————
import os
import glob
import json
from pickle import TRUE
from mutagen.easyid3 import EasyID3
from mutagen.id3 import APIC, ID3
import requests
import time
import concurrent.futures
import argparse
import inspect
import custom_logger

loglevel = ‘DEBUG’

元記事を表示

【NTTジャパンラグビー リーグワン2022-23】googleカレンダーにcsvファイルで予定を登録

## 概要
NTTジャパンラグビーラグビー リーグワン2022-23シーズンのスケジュールをgoogleカレンダーに一括登録するためのcsvファイルを生成するpythonコードと、csvファイルで予定をインポートする方法についてです。

基本的にはgoogleカレンダーにリーグワンの試合予定を登録する目的で作成したコードなので、技術的に目新しい内容はありません。。。。

使い方の説明にある[https://calendar.google.com/calendar…](https://calendar.google.com)をクリックしてgoogleカレンダーのスマホアプリが立ち上がる場合、リンクの長押しなどでWEBブラウザでリンク先を表示するとスマホでも登録できるはずです。

## 使い方
1. 新しいカレンダーを作成する(任意)
– https://calendar.google.com/calendar/u/0/r/settings/createcalendar?pli=1
– 「リーグワン」やチーム名のカレンダーを作成して追加すると、一括で色の設定、表示/非表示、削除などがで

元記事を表示

PyMeshLabの使い方

# PyMeshLabとは

[Meshlab](https://www.meshlab.net/)をpythonのモジュールとして使えるようにしたものです.

詳細は[公式のドキュメント](https://pymeshlab.readthedocs.io/en/latest/index.html)を参照してください.

本記事では,以下の環境で動作確認しています.

– WSL2: Ubuntu 20.04.4 LTS
– Python 3.8.0
– pymeshlab: 2022.2.post2

# インストール

“`sh
pip install pymeshlab
“`

# サンプルデータのダウンロード

Meshlabのサイトからサンプルデータを[ダウンロード](https://www.meshlab.net/data/sample_meshes.zip)することができます.

本記事ではこのデータを使って説明します.

“`python
import urllib
from pathlib import Path
import zipfile

url =

元記事を表示

[Switchbot API v1.1が登場] Smart Lockを遠隔操作する

# Switchbot APIのv1.1が登場
この記事を書いているのが2022/09/08ですが2日前くらいにSwitchbotのAPIがv1.0 -> v1.1に移行した模様です。

僕的に一番大きな変更点として**Smart Lockを制御できるようになった**ことです。
今までセキュリティ上の観点から公開されているAPIでは、Smart Lockを制御することはできませんでしたが(~~なぜか一時期使用できていましたが~~)、v1.1の登場により制御ができるようになりました。

他にも変更点があると思いますが、本記事ではSmartLockに着目し、Pythonを使って制御してみようかと思います。

:::note info
Switchbotに関するコードを[GitHub](https://github.com/masaki12-s/switchbot_python)に公開しています。本記事に関するコードは“`src/utils.py“`,“`src/lock.py“`になるので良ければ参考にしてください。
:::

# 署名の追加
v1.0からv1.1への一番大きな変

元記事を表示

Python3エンジニア認定基礎試験合格までの勉強法

### はじめに
Python未経験者が1か月半かけて勉強し、無事に資格取得までできましたので、これから試験に臨む方向けにどのように勉強したか共有したいと思います。
私自身はプログラミング経験はプログラミングスクールにてRubyを3か月~4か月ほど学習と、VBAを1年弱ほど触っているような技術感です。実務で本格的なプログラムを書いた経験はほぼなしです。

### 試験について

>試験日程:通年
試験方式:コンピュータ上で実施するCBT方式
試験時間:60分
問題数:40問
合格ライン:70

比較的難易度は低く、合格率は高め。

試験範囲 Pythonチュートリアル(書籍だがウェブ上で無料で閲覧もできる)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1744893/5b787820-39c4-0869-256f-94f113736d83.png)

### 勉強法その1 動画教材
まず、Pythonを知ろうというところから、Udemy「現役シリコンバレーエンジニアが教えるPytho

元記事を表示

OpenVINO の Person-reidentification(人再認識)モデルを使って人を追跡する (改)

# はじめに

以前、[OpenVINO の Person-reidentification(人再認識)モデルを使って人を追跡する](https://qiita.com/kodamap/items/0fc97a541ab9128e109b)を作りましたが、単純にコサイン類似度とユークリッド距離でもって同一性を判定するだけでは、十分ではありませんでした。

GitHub では、コメントをくださる方がいて

– 「なぜ **DeepSORT** を使わないの?」
– 「**Oxford Town Centre** VideoでランダムにIDが割り当てられてしまう」

という問題を教えてくれました。

この記事は、[DeepSORT](https://github.com/nwojke/deep_sort/blob/master/deep_sort) のアルゴリズムを参考に、実装できたこと、できなかったこと、試行錯誤したことの 備忘録 です。「人物追跡をやってみよう」 という方の 役に立てば幸いです。

**(注意):実装は DeepSORT とは異なります**。

DeepSORT のア

元記事を表示

スパース性を導入したベイズ線形回帰

線形回帰の解がスパースである(0が多い)ことが事前にわかっているとき、 **ベイズ線形回帰(Bayesian Linear Regression)** において重みの事前分布に対して、 **馬蹄分布(Horseshoe Distribution)** を用いるのが一般的です。

正規分布などを事前分布に用いたベイズ線形回帰と比べて、馬蹄分布を事前分布に用いたベイズ線形回帰では、事後分布からのサンプリングには比較的複雑なコードが必要になります。

この記事では、 **マルコフ連鎖モンテカルロ法(Markov chain Monte Calro method)** のアルゴリズムの一つである **ギブスサンプリング(Gibbs Sampling)** を用いた、最も基本的な馬蹄事後分布からのサンプリング方法を紹介します。

## ベイズ線形回帰とスパース性

次のような線形回帰モデルにおいて、

“`math
\mathbf{y}=\mathbf{X}\boldsymbol \beta + \boldsymbol \epsilon
“`
“`math
\boldsymbol \eps

元記事を表示

たった2行で機械学習手法を選定!

# 初めに
`pycaret`よりも早く多くの機械学習手法を比較・選定してくれる
`Lazypredict`をご存知でしょうか?
**Lazy**・・・**怠け者**
名前の通り、怠け者が予測するには打って付けの手段になりそうだ!!

# まずはインストール

~~~python
pip install lazypredict
~~~

# 準備
**前提:データの外れ値処理は実施済みであること**
?ここは怠けてはいけない!ここがエンジニアの腕の見せ所だ!

この記事では怠けますが、
下記の過去の記事からtrain.csv,test.csvを取得してください

https://qiita.com/shimokame777/items/d370a7ac94432e222dc5

Lazypredictは入・出力因子の変数分けが必要なので
X_train,Y_train,X_test,Y_testと設定しておく
~~~python
# データインポート
data_train = pd.read_csv(‘train.csv’)
data_test = pd.read_csv(‘test.

元記事を表示

毎日めんどくさいMicrosoftFormsに自動回答して寝る

# hi
はろー
##### 現役JKのTrimscashだぞ

今日はこんな感じの定期的に出さなきゃいけないFormsを自動的に出して幸せになるぞ

サンプルフォーム

https://forms.office.com/Pages/ResponsePage.aspx?id=XYP-cpVeEkWK4KezivJfyH11yZXFh-dKnUF3d_rMgjRUOEozUDRWODBHMDBNRkNCOExOUlFYNUtWNS4u

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730711/9b8d6d49-84b2-5269-bd2e-8320ed048d67.png)

# 環境構築
まずPython3でChromeの自動操作をするには,
– Selenium
– Chrome
– ChromeDriver

が必要です.

Chromeは入ってるとして,,,

### Slenium
Seleniumはpipで一発でげす
“`
>pip install selenium
`

元記事を表示

Python Webスクレイピング 小技集

# はじめに

スクレイピングを使い始めて約1ヶ月が経ちました。
そこでスクレイピングで使う、ちょっと便利な小技(当たり前のことだったらすみません)をまとめましたので、どなたかの役に立てば幸いです。
(念願のQiita初投稿です!! アドバイスや間違いがあれば、ビシバシご指導よろしくお願い致します!)

# ※ その前に・・・ 完全初心者の方へ
以下の動画が大変参考になります。これを見ると一通りはスクレイピングできるようになると思います。

::: note warn
動画でのSele

元記事を表示

38歳、夏、プログラミング挑戦【後半/技術編】

new-masaです。
前半の投稿では、私が社会人の学び直しでプログラミングを学ぶことにした経緯を記しましたが、後半では、お世話になったプログラミングスクールの最終到達目標である「AIアプリ」の制作について、苦労した点や、自分なりに工夫してみた点、学び直しを通して得られたものなどをご紹介させてください。

## 目次
[前編/経緯編](https://qiita.com/new_masa/items/3adadd1ae9e6e1c3ddf6)
**後編/技術編**
 [実行環境の紹介](#実行環境の紹介)
 [データ前処理](#データ前処理)
 [データ水増し](#データ水増し)
 [ディープラーニングによる機械学習モデルの作成](#ディープラーニングによる機械学習モデルの作成)
 [機械学習モデルの精度向上](#機械学習モデルの精度向上)
 [転移学習という技術](#転移学習という技術)
 [ついに機械学習モデル完成](#ついに機械学習モデル完成)
 [未経験者の私が苦労したこと](#未経験者の私が苦労したこと)
 [学び直しで得られたこと](#学び直しで得られたこと)
 [学び終え

元記事を表示

38歳、夏、プログラミング挑戦【前半/経緯編】

Qiitaに初めて投稿致します。
はじめましてnew-masaです。

この夏、新たな人生を切り拓こうと、15年以上勤めた会社を退職し、
プログラミングを学び始めました。(名前のnewは、そんな意義を込めて!)

この記事では、プログラミングと機械学習の未経験者が、3ヶ月まとまった時間で、社会人の学び直しを進めた結果を記したいと思います。
Qiitaでは、経験豊富な皆さんがより専門的なことを書かれていると思いますので、その様な皆さん向けではなく、「プログラミングに興味はあるけれど、自分にできるのか」という様な、不安や葛藤の中で一歩踏み出せずにいるような方に読んで頂けると幸いです。

## 目次
**前編/経緯編**
 [プログラミングスクールに通うことになった経緯](#プログラミングスクールに通うことになった経緯)
 [プログラミングを使って何を実現したいのか](#プログラミングを使って何を実現したいのか)
 [3ヶ月という短期間でなにができたのか](#3ヶ月という短期間でなにができたのか)
 [それって学び直し失敗](#それって学び直し失敗)
 [成果物いぬねこをみわけるアプリ](#

元記事を表示

Xcodeコマンドラインツールをインストールしろと怒られるし入れても直らない(git,pip,brewなど)

## 環境
macOS Monterey 12.5

## 症状

+ `pip ~~~`を実行したり、`brew ~~`を実行すると、下記エラーとポップアップが表示され、「コマンドラインツールをインストールしろ」と言われる。

+ とっくに入ってるはずだけどな?と思ったものの、20分ほどかけてインストールする。

+ インストール後、`pip ~~~`を実行すると、同じエラーとポップアップが表示される。

+ **調べたところ、ここ数日でXcode自身、Unreal Engine、gitなどでも同じ問題が発生しているらしい?**

“` terminal
$ pip3 –version
2022-09-17 18:08:40.958 xcodebuild[61540:5594947] [MT] DVTPlugInLoading: Failed to load code for plug-in com.apple.dt.IDESimulatorAvailability (/Applications/Xcode.app/Contents/PlugIns/IDESimulatorA

元記事を表示

2カ月FE攻略~0日目~

# 目次
[1.はじめに](##-はじめに)
[2.Pythonを導入しよう](##-Pythonを導入しよう)
[3.VSCodeを導入しよう](##-VScodeを導入しよう)
[3.基本操作と四則演算編](##-基本操作と四則演算編)
## はじめに
前回は使用する書籍の紹介を行いました。(Markdown式の記述を推奨してくださった方、ありがとうございます。)

この記事では午後試験対策としてPythonを選んだ理由、導入手順、初歩的なコードについて書きたいと思います。
## なんでPython?
理由は大きく2つあります。
– アルゴリズムをきちんと学ぶことで午前問題との相乗効果を狙っている。
– データ分析をRで扱ってきたが、データサイエンスとしてはPythonの方が一般的(なイメージ)なので学び直したい。

つまりは基本情報技術者試験の勉強を足掛かりにして、実用的なデータサイエンスを学びたいというわけです。
## Pythonを導入しよう
前提として、この日記ではPython3.10.6を使っています。

まずは[ここから](https://www.pytho

元記事を表示

GISデータ(ラスター・ベクター)をPythonで処理する

# GIS for python

GISデータ(ラスタ・ベクタ等)をPython上で扱う上で便利なライブラリの紹介。
その他、再投影方法と、`matplotlib`を用いた描写方法まで

## ライブラリ群

||`osgeo.gdal`|`geopandas`|`rasterio`|
|—|———|———–|———-|
|扱えるデータ形式|ラスターデータ|ベクターデータ|ラスターデータ|
|描写機能|なし?|あり|あり|

### 1. `osgeo.gdal`

– gisデータを扱うための基本ライブラリ
– 基本データタイプは`osgeo.gdal.Dataset`

#### `gdal.Dataset`

– **データ本体**、**左上ピクセルの座標情報(geotrans)**、**投影情報**などで構成
– 左上のピクセルの座標は(lat, $\varDelta$lat, 0, lon, 0, $\varDelta$lon)の順(set型)

“`python
# tifファイルから各種データを読込む
from osgeo i

元記事を表示

[python] ファイルの場所(パス)を得る方法

# はじめに
会社のシステムがかなり古く、独自で自動化システムを作ることを目指している。
会社のデータの多くはエクセルで管理され、ファイルの場所を指定することが絶対必要条件になる。

# 環境
python 3.7.8
window 10

# Code
### パスの指定方法
“`python
path = r’C:\Users\junsa\Desktop\python’
## 文字列の中の ‘\’を認識するので、rawの「 r 」を書くことで認識しなくする
file_name = ‘labo.py’
print(path + fr’\{file_name}’)
# ‘C:\Users\junsa\Desktop\python\labo.py’
## 文字列の前に f を書くことで変数を入れることができる。
“`

### 現在のファイルのパスを得る
“`python:
import os

print(‘getcwd: ‘, os.getcwd())
print(‘__file__: ‘, __file__)
#getcwd: C:\Users\

元記事を表示

自作のPythonのSVG用ライブラリでパスの描画をサポートしました。

趣味で作っているPythonのSVGベースのapyscというフロント用のライブラリでベジェ曲線などを含めたパスの描画をサポートしたので記事にしておきます。

# ライブラリの概要

パスの描画機能の前にライブラリの基本情報について軽く触れておきます。

## 関連ページ

GitHub:

https://github.com/simon-ritchie/apysc

日本語ドキュメント:

https://simon-ritchie.github.io/apysc/jp/jp_index.html

今回追加になったパス関係のドキュメント:

https://simon-ritchie.github.io/apysc/jp/jp_path.html

## インストール

pipでインストールができます。本記事では執筆時点で最新のv2.5.20を使っていきます。

“`
$ pip install apysc==2.5.20
“`

## 本記事の実行環境

本記事執筆用には楽なのでColaboratoryを使っていきます。

ノートブック上で以下のように記述することでインストー

元記事を表示

Python標準ライブラリのsmtplibでメールを送信する

# はじめに
Python標準ライブラリである、**smtplib**を使ったメール送信についての学習記録になります。
GmailのSMTPサーバーを利用してメール送信を試してみます。
Python3.9で書いています。

# 事前準備
– Googleアカウントの二段階認証プロセスをONに設定します。
– アプリパスワードを生成。

# ディレクトリ構成
“`
# tree
.
├── send_mail.py
└── settings.json
“`
# 書いたプログラム
シンプルにしてあるつもりです。
“`python:send_mail.py
import smtplib
from email.mime.text import MIMEText
import json

def send_gmail(mail_from, mail_to, mail_subject, mail_body):

settings_file = open(‘settings.json’,’r’)
settings_data = json.load(settings_file)

元記事を表示

馬蹄分布(Horseshoe Distribution)の基本

この記事は **馬蹄分布(Horseshoe Distribution)** について、基本となる事柄だけを簡単にまとめたものです。

Googleで馬蹄分布と検索するといくつかの解説記事がヒットしますが、どれもがしっかりとした内容を解説していて基本的な事柄について触れている記事を見つけることができませんでした。

![スクリーンショット 2022-09-16 19.43.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1530170/1e4a54d7-7ba1-7993-1a42-b3764f6c67b3.png)

この記事は筆者が馬蹄分布について調べた事柄をまとめたものになります。この記事を読むことで馬蹄分布をフワッと理解できるくらいのレベル感で執筆します。

## どんな時に使われる?

馬蹄分布が用いられる文脈は様々ですが、代表的なものとしてはベイズ線形回帰の回帰係数に対する事前分布として用いられます。

次のような線形回帰モデルを考えます。

“`math
\mathbf{y}=\ma

元記事を表示

コピペでスクレイピング④ クラウドワークスの新着情報を収集

# 今回の内容
前回の[コピペでスクレイピング③ クラウドワークスの新着情報を収集](https://qiita.com/Gen2423/items/6ec4695549a707a44ec8)で取得したデータを過去のデータと比較し、新着があれば抽出します。
### 前回作ったコードを出力
前回、下記のようなコードを書きました
これに追記してテスト用に出力できるようにします。
“`python:scray_data.py
# 旧リスト保存用ファイル
path = os.getcwd()
data_file = os.path.join(path, ‘crowdworks.txt’)
# メール送信用データ保存先
send_file = os.path.join(path, ‘send.txt’)

def new_data_get(target_url):
res = st.source_code_get(target_url)
soup = BeautifulSoup(res, “lxml”)
# 1
title_tags = soup.select(

元記事を表示

OTHERカテゴリの最新記事