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

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

YDLIDAR GS2をPythonから使う

# YDLIDAR GS2
– YDLIDAR GS2は可動部がない2Dlidar。
– 6000円ぐらい

## プロトコル
– https://www.ydlidar.com/Public/upload/files/2022-10-18/YDLIDAR%20GS2%20Development%20Manual%20V1.6.1(220602).pdf

## teratermから使ってみよう

teratermのマクロを利用してバイナリでコマンドを送る
[teraterm バイナリでデータを送受信するやり方](https://eng-memo.info/blog/teraterm/)
“`terminal
send $A5$A5$A5$A5$00$63$00$00$63
“`
こんな感じでデータがかえってくる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528717/ca24bdb3-5572-3079-c346-b4177aeddad3.png)

データ形式はこんな感じに

元記事を表示

JupyterLab Teradata拡張モジュール

[Teradata Vantage™ Modules for Jupyter Installation Guide](https://docs.teradata.com/r/Teradata-VantageTM-Modules-for-Jupyter-Installation-Guide) [リリース番号:3.4 リリース日付:2022/10/27]の翻訳です。

# JupyterLab Teradata拡張モジュール
JupyterLabに対して、Teradata Vantageを操作する

元記事を表示

Pythonのインスタンス変数の定義場所と注意点

Pythonのクラスではインスタンス変数を定義できますが、定義する場所について解説してみます。

## 本記事の要約

インスタンス変数は

– 基本的に初期化メソッドで定義するのが良い。
– 通常のメソッド内で初めて定義する場合は実行順序に注意。

## いただいた質問の内容

本記事は、[Djangoのコース](https://www.takux.one/#django-ecweb-vegeket)でいただいたご質問をもとに解説するものです。質問内容を要約すると次のような感じです。

> get_querysetメソッドで定義したself.totalなどは、同じクラス内にあるget_context_dataメソッドなどでもselfの値は保持されるという解釈でいいでしょうか?
>

“`python

class CartListView(ListView):
model = Item
template_name = ‘pages/cart.html’

def get_queryset(self):
cart = self.re

元記事を表示

【Django】ClassBasedViewで共有変数と初期値を設定する

ClassBasedViewで共有変数を設定して、重複クエリをなくすのが目的です。

## 条件

* id、pk、slugを指定しない
* ClassBasedViewを使う
* DetailView
* FormMixin
* post機能
* 重複したクエリを発生させない

## 前置き

これを利用するシーンとしては、プロフィール編集機能を持たせたマイページのようなものを想定している。

要は、UpdateViewとDetailViewを一緒にしたようなものだ。

ちなみに、`def(関数ベースビュー)`を使えば簡単に実装できる笑

が、可読性を上げるために?あえてClassBasedViewで実装した。

この手の記事が英文でも無かったので、記録として残しておく。

## 悩んだ問題点

初期値を設定する必要があったので、`get_initial()`メソッドでデータベースから初期値を設定するが、`get_context_data()`メソッドでも同様のクエリを発生させなければいけなかったので、どうしてもクエリが重複してしまった。

`def`であれば、一度変数に代入し使い

元記事を表示

OpenCVとNumPyでファンシーに減色する

# はじめに
今回は

– [OpenCVでトゥーンな加工をする](https://qiita.com/mo256man/items/8a9bb7bb66e107fd7153)
– [OpenCVとsklearnでk-means法を使う](https://qiita.com/mo256man/items/4990dc3ba8884e6a08d1)
– [OpenCVとNumPyでヒストグラムを作成する](https://qiita.com/mo256man/items/f5fb06ea07d8a5fd3b11)

の続き。満を持してk-means法を使って減色をする。

画像は引き続きレナ嬢とする。

|lenna.png|
|:-:|
|![lenna.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/520216/bfbb717f-e3eb-7a09-476c-8ab8d00f1f9e.png)|

# 減色する
## クラスタリング

まずは途中までのコードを示す。「コード1」~「コード4」は順

元記事を表示

Djandoクラスビューの fileds と form_class 属性は一方のみでOK

Udemyで公開している[Djangoコースの一つ](https://www.takux.one/#django-ecweb-vegeket)で Djangoのクラスビューにおけるクラス変数、`fields` と `form_class` について質問をいただいた内容について、ここでご紹介いたします。

質問としては

> SignupViewにはfieldsがなくて、AccountUpdateViewにはfieldsがあるのはなぜでしょうか?
>

というような内容のものでした(言葉は一部省略しています)。

該当のコードは以下です。

“`python
# 該当箇所のみ抜粋

class SignUpView(CreateView):
form_class = UserCreationForm # この属性
success_url = ‘/login/’
template_name = ‘pages/login_signup.html’

class AccountUpdateView(LoginRequiredMixin,

元記事を表示

WindowsでPython venv仮想環境作成

Windowsの方がPythonの仮想環境を作る場合、はじめに警告文が出たりしてどうするのか聞かれることがあったので、手順を残しておきます。

まず PowerShell を開き、下記内容を実行してください。

> ? **仮想環境構築が初めての場合** 初めて Windows で仮想環境を作成しようとすると PSSecurityException が発生することがあります。その場合は次のコマンドを実行してください。

“`
Set-Executionpolicy RemoteSigned -Scope CurrentUser
“`

仮想環境の作成は次のコマンドを入力します。うまくいくと venv というフォルダが作成されます。

“`
python -m venv venv
“`

仮想環境のアクティベート(有効化)は次のコマンドを実行します。

“`
venv\Scripts\activate
“`

うまくいくと PowerShell 内の表記に `(venv)`と記載されます。

元記事を表示

Python基礎のおさらい

Python の基本をおさらいしておきます。
公開している[Udemyコース](https://www.takux.one/)でちょくちょく参照できるように載せておきます。

## 変数

一般的な変数定義(代入)です。

“`python
a = 1
b = 2

print(a)
print(b)
# 1
# 2
“`

複数の変数定義を 1 行で行うこともできます。

“`python
a, b = 1, 2

print(a)
print(b)
# 1
# 2
“`

インクリメントの例です。

“`python
a = 1
a = a + 1

print(a)
# 2
“`

インクリメントの省略記載例です。

“`python
a = 1
a += 1

print(a)
# 2
“`

## リストのスライス

スライスでは要素数以上のインデックス番号(以下では 100 を指定)を指定してもエラーにはなりません。

“`python
sample_deck = [‘A’, ‘2’, ‘3’, ‘4’, ‘5’]

print(sample_deck[:

元記事を表示

初心者がPythonでBitCoinの価格予測をやってみた

# 1. はじめに

機械学習でBitCoinの価格予測をやっていこうと思います。
今回はLSTMを用いて構築したいと思います。

# 2. 実行環境
OS : Mac OS(Mac Book Pro M1)
メモリ: 32GB
python環境 : Jupyter Notebook
Python ver : 3.9.13

# 3. モジュールのインポート

“`python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas_datareader import data as pdr
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import r2_score
import datetime
import tensorflow as tf
from datetime impor

元記事を表示

cdk-nag(python)で特定ルールを対象外(サプレス)とする方法

# はじめに
皆様、AWS CDK(以後、cdk)はご利用されているでしょうか。
AWS公式が出しているIaCということでリソースのアップデートも早く、便利ですよね。
そのcdkのチェックツールとして**cdk-nag**というツールがあります。cdkで作成するリソースがAWSのベストプラクティスなどのルールに則っているかをチェックしてくれるツールです。
(例:S3のバケットはSSEの暗号化がされていること)

https://aws.amazon.com/jp/blogs/news/manage-application-security-and-compliance-with-the-aws-cloud-development-kit-and-cdk-nag/

このcdk-nagはcdk deployコマンドを打つと自動でチェックしてくれますが、どうしても**特定のルールはチェック外にしたい**ということがあると思います。そんなとき、python版のcdk-nagだとどのように記載すればよいかを調査しました。

# やりたいこと
– python版のcdk-nagで、IAM4のルー

元記事を表示

特定条件の項目に対して列と値を追加

## 目的
特定条件の項目に対して列と値を追加

## コード
“`Python
import pandas as pd

input_file = pd.read_csv(‘test.csv’)
print(input_file)
input_file.loc[(input_file[‘name’] == ‘Akebono’) & (input_file[‘Weight’] == 90), ‘Age’] = ’31’
print(input_file)
“`

## 出力結果
~~~
name Height Weight
0 Akebono 170 65
1 Shota 171 59
2 Akebono 169 90
3 Yamato 175 50
name Height Weight Age
0 Akebono 170 65 NaN
1 Shota 171 59 NaN
2 Akebono 169

元記事を表示

Pythonでフォルダ内すべての画像の回転をしてみた

## 目的
画像の回転だけであれば調べればすぐ出てきたのですが、フォルダ内すべての画像を
回転の対象にできないかと思い色々調べてまとめてみました。

## ソースコード
下記のソースコードは、ファイル内にあるすべての画像を読み込んで
その画像を反時計回り一回行い、再度保存するプログラムです。
“`Python
import numpy as np
import cv2
import os,glob,random

save_dir=”./hogehoge”
files=glob.glob(“./hugehuge./*.JPG”)
n=0
for l in files:
img=cv2.imread(l)
outfile=save_dir+”/”+str(n)+”.jpg”
# 反時計回りに回転させる
img=cv2.rotate(img , cv2.ROTATE_90_COUNTERCLOCKWISE)
cv2.imwrite(outfile, img)
n+=1
“`
## 解説
保存先のディレクトリを指定します。
この場合、

元記事を表示

[Python] listを逆順にソート かつ 0除去する

## 目的
数値の配列listから下記を行う。
– 0除去
– 逆順にソート

## コード
“`Python
testListExcluded = list()
testList = [0,1,0,2,0,0,3]
print(testList)

# 逆順にする
# reverse()が返すのはNoneなので注意。
testList.reverse()
print(testList)

# 0除去する
for value in testList:
if value != 0:
testListExcluded.append(value)

print(testListExcluded)
“`

## 出力結果
[0, 1, 0, 2, 0, 0, 3]
[3, 0, 0, 2, 0, 1, 0]
[3, 2, 1]

元記事を表示

機械学習に役立つ画像収集ライブラリ「icrawler」を使ってみた

皆さん、機械学習をするにあたり学習データの収集に苦労したことはないでしょうか。
今回は、学習するにあたり役に立つライブラリ「icrawler」を紹介します。

ライブラリの詳細については、github(@[gist](https://github.com/hellock/icrawler)
)を確認して頂ければ良いですが、簡単に言えばWebクローラーです。

画像サイトのFlickrだけでなく、Google、Bing、Baiduの検索エンジンも利用することができます。
では、実際にサンプルコードを書いていきます。

まずは、インストールをしましょう。
“`
pip install icrawler
“`

インストールができましたら、コードを書いていきます。
“`
from icrawler.builtin import GoogleImageCrawler

google_crawler = GoogleImageCrawler(storage={‘root_dir’: ‘test’})
google_crawler.crawl(keyword=’aurora’, max_nu

元記事を表示

簡単な画像収集のスクレイピングが上手くできなかった話

Qiitaで面白そうな内容のものがあったので、コードを試してみました。もともと機械学習とWeb開発に興味があったので、こんなことできたらいいなと思えるとても良い記事でした。
[齋藤飛鳥と玉森裕太の顔分類 WEB アプリ開発](https://qiita.com/shota_seki/items/c8cf40f9c7764f43496c)

同じ人物だとつまらないので、King & Princeの平野紫耀とBTSのテテにしました。(二人ともかっこよすぎる、、)

しかしエラーとなる部分が出てきてしまって、10分くらいいじろうと思っていたのが、気づいたら2, 3時間経っていました。

コード自体は動くはずなのになぜか上手くいかない、、
そんなエラーに出会ってから解決するまでを記録します。

## 読者の対象者

– スクレイピングをやりたい
– エラーがないコードを動かしてみたい
– エラーを解決する過程が知りたい
– 他人がどのくらいエラーでつまづくものなのか知りたい

といった人になるかと思います。

## とりあえずコードを実行してみる
コードを実行すると、以下のようになった。

元記事を表示

インストール可能なライブラリのバージョンを確認

pipでライブラリをインストールする際バージョンを指定することができます。

例えばDjangoのバージョン3.2.5をインストールする場合は次のようにします。

“`
pip install Django==3.2.5
“`

何も指定しなければ最新版がインストールされますが、安定版の中での最新版をインストールしたいことがあります。

例として、Djangoには現時点で最新版は4系以上が存在しますが、3.2系の中の最新版をインストールしたいとします。ただし、3.2系の最新版が3.2.1なのか、3.2.20なのかなどはわからないとします。

こんなときに手軽に確認するには次のようにします。

“`
pip install Django==
“`

このコマンドはバージョンを指定していないのでエラーがターミナルに表示されます。

エラー内容は
「バージョンを指定したいならこの中から選んでください。」
というような感じです。

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

元記事を表示

自動微分に再入門する(1)

## 概要

数値解析や機械学習を勉強していると必ず出てくる自動微分ですが、理解がかなり怪しかったので勉強しました。

記事の内容としては高校数学や簡単な偏微分は理解しているけど自動微分の概念や実際の操作手順がいまいち頭に入ってこない方向けのものです。

## そもそもなぜ微分が必要なのか

**微分の必要性について自分視点で書いてみただけなので、読み飛ばしていただいて問題ないです。**

例えば古典的な線形回帰モデルを考えてみます。観測値$\left(X_1, Y_1\right), \left(X_2, Y_2\right) \dots , \left(X_N, Y_N\right)$に対して次のような線形関数が成立すると仮定します。

$$
Y_i=\alpha+\beta X_i + \varepsilon_i ,
$$

このときいくつかの強い仮定のもとで、次式を最小にする$\alpha, \beta$の推定値$\hat{\alpha}, \hat{\beta}$は良い性質を持っていることが知られています。[^ 1]

[^1]: 詳細についてはGauss Markov T

元記事を表示

さくらのレンタルサーバで自動返信設定(メールにおける日本語での件名と送信者名設定)

# 1.プレミアムプランで返信設定

さくらのレンタルサーバでは、プレミアムプランではコントロールパネルで自動返信の設定は行えない。
一方、ビジネス・ビジネスプロプランでは行える。

https://help.sakura.ad.jp/mail/2112/

ただ、コントロールパネルからは設定できないが、サーバ内で直接設定することで返信設定は行なえる。

sshでログインし、対象アカウントのメールボックスに設定したり、scpコマンド、Filezillaなどで設定ファイルをアップロードして返信設定をすることができる。

以下の記事に設定方法が書いて記載している。

https://www.dm2.co.jp/blog/1148

http://awasanpd.blog114.fc2.com/blog-entry-504.html

# 2.自動返信の設定手順概要

参考サイトに手順は記載されていますが、簡単に流れだけ記載する。
ちなみに、設定は自己責任でお願いします。(バックアップを取って問題あればもどしてください)

## (1)コントロールパネルから返信設定をするアカウントを作成す

元記事を表示

ABC275 A~D問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder

ABC275(AtCoder Beginner Contest275) A~D問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。

その他のABC解説、動画などは以下です。

https://qiita.com/sano192/items/54accd04df62242b70f0

更新時はツイッターにて通知します。

# A Dif:14

https://atcoder.jp/contests/abc275/tasks/abc275_a

要するにHの中で最も大きい要素は何番目ですか?ということを聞かれています。
これを直接求める方法もなくはないのですが、ちょっとややこしいので、最も大きい要素を探す→そのインデックス番号を探すという方法で解きます。

まずHの中で最も大きい要素を探します。
max(H)
とすることでHの中で最も大きい要素がわかります。これをHmaxとしましょう

次にHmaxのインデックス番号を探します。
H.index(Hmax)
とすることでHのなかでHmaxが何番目かを確認できます。

元記事を表示

PygameでRPG制作 ーーそれっぽい画面を作ってみよう④ 各アクションのでの動作とHP機能の実装

この記事は、岩手県八幡平市のプログラミング教室「アクセルキャンプ」の公開教材です。
[アクセルキャンプ(フリースペースプラウド)のリンク](https://freespaceproud.com)
教材の作成依頼等も承っております。ご意見等は、リンク先の問い合わせ欄からお願いします。
教材の転用・利用等は自由です
***

# 寒い!起きれない!ネムイ(´・ωゞ)
布団から出られません。先生、最近朝4時起きしてるんですが、外は氷点下です。起きねぇっすマジムリっす。 アルバイトを募集します。朝4時に先生の家まで来て先生を起こすだけの簡単なお仕事です。応募はフリースペースプラウドまで。

# 前回までのコード
“`python
import pygame
from pygame.locals import *
import sys

# 効果音を再生する関数
def sound_effect(sound):
pygame.mixer.music.load(sound)
pygame.mixer.music.play(1)

/*中略*/
#

元記事を表示

OTHERカテゴリの最新記事