Python関連のことを調べてみた

Python関連のことを調べてみた
目次

頂点をいい感じにカメラに収める方法

# 概要
3D オブジェクトの全ての頂点がいい感じに収まるようにカメラを移動したい時の処理方法備忘録。

# 前提
– Maya 2020.x + OpenMayaApi2.0
– ※ ロジックは他の環境でも使い回せるはず。

# 処理概要

– ビュー座標系で、対象の全ての頂点中心位置にカメラを移動する
– 全ての頂点がカメラの視錐台に収まるようにカメラをドリーアウトする(後ろに引く)

実装向けに書き下すと

– ビュー座標系で全ての頂点を収めたバウンディングボックスを作る
– バウンディングボックスの最小、最大座標のxとyをカメラに収めるために必要なカメラの移動値(バウンディングボックスの中心からの距離)を求める
– カメラをバウンディングボックスの中心に移動する
– 上記移動値の最大値距離分カメラを移動(ドリーアウト)する

# 実装サンプル

## 事前準備

座標変換や視錐台の計算に使うため、マトリクスや FoV の情報を事前にカメラから取得します。

コード

“`python
from maya.a

元記事を表示

yfinanceを使って株価データを取得する方法

## yfinanceとは?

yfinanceは、Yahoo Financeから株価データを取得するためのPythonライブラリです。
このライブラリを使うことで、株価データの取得が非常に簡単になります。

## 環境設定

まず、yfinanceをインストールする必要があります。
以下のコマンドを実行してインストールしましょう。

“`bash
pip install yfinance
“`

## 株価データの取得

それでは、実際にyfinanceを使って株価データを取得してみましょう。
今回は、Appleの株価データを例にします。

“`python
# yfinanceをインポート
import yfinance as yf

# 銘柄シンボルを指定してデータを取得
apple = yf.Ticker(“AAPL”)

# 歴史的な株価データを取得
hist = apple.history(period=”1mo”)

# 取得したデータを表示
print(hist)
“`

### 各処理の説明

1. **ライブラリのインポート**
“`python

元記事を表示

WEBサイトの死活監視を簡単に、格安で実施できるサービス「LinkWatcher」のβ版をリリースしました。【個人開発】

こんにちは!

[InfraAcademy](https://engineer-ninaritai.com/infraacademy/)というLinuxやネットワークの学習サービスを運営しております、ryuと申します。
今回は、新しく個人開発したサービスのLinkWatcher(リンクウォッチャー)についてご紹介したいと思います!
## LinkWatcher(リンクウォッチャー)とは?
まずは、サービスの説明からさせていただきます。
**LinkWatcherとは、Webサイトの監視をするサービスです。**
URLを登録すると、定期的にWebサイトが動作しているかの確認を行います。もし、サイトが停止している場合は、メールを送信して、サイトのダウンを検知します。

個人開発者向けに、安価で簡単に設定ができる監視ツールです。

▼ LinkWatcher(β版)

https://monitoring-app-wibb.onrender.com/
## 他の監視ツールとの違い
私自身、インフラエンジニアとしてキャリアをスタートしています。
そのため、さまざまな監視ツールを使ってきました。

元記事を表示

ROS noeticとRealsenseでエッジ検出導入

# コードの場所
https://github.com/Go21032/ros_Golib?tab=readme-ov-file

# git clone
“`
cd ~/catkin_ws/src
git clone https://github.com/Go21032/ros_Golib.git
“`

# submoduleのアップデート
git submoduleとして抱えているコードの更新が必要です。
“`
cd ~/catkin_ws/src/ros_Golib
git submodule update –init –recursive
“`

#rosdepでの依存パッケージの取得
“`
cd ~/catkin_ws/src/ros_Golib
rosdep install -i -y –from-paths ./
cd ~/catkin_ws
catkin build
“`

# Realsenseインストール
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribu

元記事を表示

a**2+b**2+c**2+d**2=725,自然数「【正答率0%!?】本当にあった怖すぎる高校入試」をChatGPTとpythonとWolframAlphaでやってみたい。

**・パイソニスタの方へ**
 四平方数で、できませんでした。ページ後半です。
 アドバイスをお願いします。

# オリジナル
PASSLABO 様 (0:00〜10:24)

# オリジナル様の方法で
・勉強中? 私はあきらめました。

# pythonで
・(ページ後半の)ChatGPT先生のコードを修正しました。
・計算結果込みの方法で、できませんでした。
・**順列→組み合わせ 変換のおすすめの方法を教えて下さい。**

・??? 207通り(207行あります。) ???

“`python
import math

def find_natural_numbers(sum_of_squares):
solutions = []
max_value = int(math.sqrt(sum_of_squares)) + 1
ic=0
for a in range(1, max_value):
for b in range(a, max_value):

元記事を表示

Databricks にて ANSI モードが有効な場合における to_date と to_timestamp にて変換できない場合にエラーになる事象の回避方法

## 概要

Databricks にて ANSI モードが TRUE の場合における to_date メソッドと to_timestamp メソッドにて変換できない場合にエラーになる事象の回避方法を共有します。to_date メソッドと to_timestamp メソッドではなく、expr メソッドにて SQL の try_to_timestamp 関数を利用することで対応することができます。

> SparkDateTimeException: [CAST_INVALID_INPUT] The value ‘2023/12/31 12:12:12’ of the type “STRING” cannot be cast to “TIMESTAMP” because it is malformed. Correct the value as per the syntax, or change its target type. Use `try_cast` to tolerate malformed input and return NULL instead. If necessary

元記事を表示

Multi-Head Attentionの仕組みについての覚書

# はじめに
どうも、機械学習を用いて動画認識を行っている大学院生です。
最近、動画認識を行う際にTransformerを使用しました。
そこで、Transformerの中のMulti-Head Attentionの仕組みを覚書として残します。

# Transformer
– Transformerとは、Attentionを用いて一連データを一度に処理できるニューラルネットワーク
– Transoformerのモデル図は以下の通り(原論文より引用)

![スクリーンショット 2024-06-02 9.54.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1030742/a116dd52-4dfa-4a15-b358-15897e42472d.png)

– Multi-Head Attentionの説明をする前にInput EmbeddingとPostional Encondingを軽く説明します

### 1. Input Embedding
Input Embeddingとは、In

元記事を表示

Databricks (Spark) にて dropduplicate や join にてエスケープ文字であるシングルクォートを指定した際のエラーへの対応方法

## 概要

Databricks (Spark) にて dropduplicate や join にてエスケープ文字であるシングルクォートを指定した際のエラーへの対応方法を共有します。日本語のカラム(例:`名前`)を Spark の SQL で扱う際にはシングルクォートを指定する必要があるのですが、 dropduplicate や join などを利用する際にシングルクォートを指定すると下記のようなエラーが発生します。

> AnalysisException: Cannot resolve column name “`名前`” among (名前, 数値).

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/120b20fd-b808-e0d9-801a-1bcd41930742.png)

> AnalysisException: [UNRESOLVED_USING_COLUMN_FOR_JOIN] USING column `名前` cannot be resolved

元記事を表示

画像をBase64でエンコードしGPT APIで評価する手順

# はじめに
この記事では、写真に基づいて特定の評価を行う方法について紹介します。これは、写真の内容に基づいて評価を行い、0から5の評価を返すシステムです。ここでは、OpenAIのAPIを利用して評価を自動化する方法を説明します。

# 課題と対応
現在、OpenAI APIに画像ファイルそのものを送信することができません。そこで、画像のエンコード(変換)した上で、評価を行うAPIに送信します。

# 参考にした記事
https://qiita.com/danishi/items/7f1569151a766b678b02

https://qiita.com/rio_0402/items/65cb7261f85099ec942a

# 前提
OpenAIのAPIキーをすでに取得し、設定済みの状態とします
APIキーの取得の仕方がわからない方は、こちらをご覧ください:
https://platform.openai.com/api-keys

# 1.画像のエンコード(変換)
まず、評価対象の画像をBase64形式にエンコードします。以下のPythonコードは、指定した画像ファイルをBa

元記事を表示

W5500-EVB-PicoでCircuitPythonファームウェアを使用したSSLテスト: 総合ガイド

## 概要
最新のCircuitPythonファームウェアを使用してW5500-EVB-PicoでのSSLテストを探求し、セットアップ、実装、結果を詳細に説明します。

## 詳細

### コンポーネント

**ハードウェア:**

– WIZnet – W5500-EVB-Pico x 1

**ソフトウェア:**

– Thonny x 1

### プロジェクト説明

#### イントロダクション
エンベデッドシステムおよびIoTデバイスの進化する世界において、安全な通信を確保することは非常に重要です。W5500-EVB-Picoは、ネットワーク対応アプリケーションのための堅牢なプラットフォームを提供する多用途なマイクロコントローラボードです。CircuitPythonと組み合わせることで、開発者は簡単に安全かつ効率的なプロジェクトを作成できます。

本プロジェクトでは、W5500-EVB-Pico上で最新のCircuitPythonファームウェアを使用してSSL(Secure Sockets Layer)の統合を探求します。SSLは、サーバーとクライアント間で暗号化されたリン

元記事を表示

とりあえず動けばいい人向けDiscordBotの作成手順(python)

とりあえず難しいのいいから動けばいいや的な人向けのDiscord Bot作成手順

# 1.Discord Botの作成

https://discord.com/developers/applications

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3432250/ef51dfef-6800-0503-182b-900eecb3e13c.png)

New Applicationを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3432250/54e99d11-fc98-3444-f1dc-496aa94cee49.png)
このBotのTOKENを取得

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3432250/c80b05b8-1a96-0f88-90d6-fce

元記事を表示

知っておきたいDjango ORMのクエリ最適化術:N+1問題を一撃で解消

# 概要
## DjangoのORMとは

DjangoのORM(Object-Relational Mapping)は、Djangoフレームワークの一部であり、データベースとのやり取りをオブジェクト指向の方法で行うためのツールです。ORMを使用することで、SQLクエリを直接書かずにデータベース操作を行うことができます。Pythonのオブジェクトを通じてデータベースのテーブルとやり取りできるため、コードがより直感的かつ保守しやすくなります。

“`python
from django.db import models

class Post(models.Model):
id = models.AutoField(verbose_name=_(“id”), primary_key=True)
title = models.CharField(max_length=100)
content = models.TextField()

class Comment(models.Model):
id = models.AutoField(verbose_na

元記事を表示

1分でできる!VSCode上でPython{2, 3}の単体テスト{pytest, unittest}のカバレッジを可視化する

# できること

– 単体テストのカバレッジがVSCode上で表示される
– カバレッジ率も計算してくれる

こんな感じです↓

![スクリーンショット 2024-06-03 18.24.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/582018/40601a73-f9b8-4063-8a31-a017b6736150.png)

緑色 = 通ってる
赤色 = 通ってない
(黄色 = 一部通ってる)

ここだと、if分岐の中身を通るケースの検証が全くできていないことが一目で分かります 🎊

また、VSCodeの下の方にCoverage率も表示されます(「71% Coverage」のところ)

# 事前準備

VSCodeの拡張機能「[Coverage Gutters](https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters)」をインストールしておきます

![スクリーンショット

元記事を表示

ラズパイでロボットアームを動かしてみた

## やること
RaspberryPiとサーボドライバ、サーボモーターを接続しロボットアームを動かします。

## 用意したもの
– Raspberry Pi4 ModelB 4GB

– AMONIDA メカニカルアーム

– zetaon PCA9685 サーボドライバ PWM

– ジャンパーワイヤ
文系SEがPythonエンジニア認定データ分析試験を短期間で合格した話

# Python3認定データ分析試験の体験記です。

23年9月末にPython3認定データ分析試験を受験し合格しました。
昨今、Python認定試験の受験予定者が多くなってきたと感じました。

当時短期間で合格することが出来たため、その際のノウハウを残し、これから受験する皆様の参考になればと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/f3589341-c740-1603-7fe5-cdf88ae896f8.png)

# 私の当時のスペック
当時、私は文系学部の大学を卒業した後、公務員を経て転職し、IT企業(SES)で5年目でした。
IT業務の経歴は、インフラ系に身を置いた後、アプリ開発のプロジェクトを担当していました。

アプリ開発を担当していましたが、プログラミングをがっつり行っていた訳ではなく、サーバ周りの業務を担当していました。

私は2020年度にPython認定基礎試験を受験し合格しました。
基礎的なPythonの書き方を把握していましたが、デ

元記事を表示

パスワード付きzipファイルをpythonで扱う方法、7zを扱った高速化まで

# はじめに
パスワード付きzipファイルをpythonで扱う方法をまとめます。
機械学習などプログラムで扱いたいデータが外に出てはいけないものの場合、役に立つと思います。
今回は、ファイルとして出力せず、プログラムでファイルの内容のみ出力するコードを紹介します。ファイルとして出力したい方は参考文献に記載している[こちら](https://note.nkmk.me/python-zipfile/)が参考になると思います。
なお、圧縮ファイルの形式が選べる方は、7z形式を使うと高速だと思います。

# 全体像(zip version)
ソースコードはこちらです。
“`python:unzip.py
import zipfile
import getpass

p = getpass.getpass().encode()
zipFilePath = “.zip” # zipファイルのパスを指定して下さい
with zipfile.ZipFile(zipFilePath, “r”) as zp:
fileNames = zp.namelist()
for fileName

元記事を表示

文系SEがPython3エンジニア認定基礎試験を受験した話

# Python3エンジニア認定基礎試験合格体験記
2020年9月末にPython認定基礎試験を受験し合格しました。

お伝えできる内容が少し年数を経過してしまっていますが、受験合格に向けた学習の糧にして頂ければと思います。
受験規約により試験問題を記載することは出来ませんが、私が受験した試験の感想を残し、これから受験する皆様の参考になればと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/3efd5135-d4b1-ef78-e29e-0531d7c80bb7.png)

# 私のスペック
当時私は、私は文系学部の大学を卒業した後、公務員を経て転職し、IT企業(SES)で2年目でした。
当時は、インフラ系の業務に身を置いていて、プログラミング経験はありませんでした。
しかし、プログラミングの力を付けたいと思い、当時人気言語として評判があったPythonを勉強し始めたのがきっかけです。

# 勉強時間
当時私が勉強していた期間はおおよそ1ヵ月程度だった記憶です。

元記事を表示

Windows上でSVCを使ってchainlitをお気軽に試す

簡単にローカルで動くチャットボットUIをつくりたいと思ったので、chainlitを試してみました。
中身の実装はしておらず、打ち込まれた文言をおうむ返しするだけのものです。

# chainlitとは
streamlitのチャットボット版です。
つまり、pythonで簡単にチャットボットのwebUIを作ることができます。

### chainlit github
https://github.com/Chainlit/chainlit

### ドキュメント
https://docs.chainlit.io/get-started/installation

### ライセンス
商用利用可能なApache License2.0です。
https://github.com/Chainlit/chainlit/blob/main/LICENSE
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/50fd55e4-9c50-ee17-415d-9a9c18d0a7e6.png)

#

元記事を表示

Pythonの良く使う型まとめ

## Pythonの型
Pythonでよく使われる型を調べてみたよ。よく使うのは以下の7つ。それぞれ使い方を確認していくよ~。Pythonは、型を記載しなくても自動で認識してくれるけど、型を書くこともできるよ。int型で書き方の例を挙げておくよ。
* int型:整数
* float型:小数点
* str型:文字列
* bool型:真偽値
* list型:リスト
* tuple型:タプル
* dict型:辞書

### int型
これは、整数を定義するよ。小数を含まない、正の整数、負の整数を扱えるよ。
Pythonは、Javaとは違って型を記載しなくても自動で認識してくれるけど、書くこともできるよ。念のため、`print(type())`で型を確認するよ。
~~~python
int_num_x = 10
int_num_y : int = 20
print(f’int_num_x = {int_num_x}’)
print(f’int_num_y = {int_num_y}’)
print(f’int_num_x : {type(int_num_x)}’)

# 出力結果
> int

元記事を表示

DeepZoomフォーマット(DZI)を無料で作りOpenseadragonで表示させる

 Google Mapなどで使われているDeep Zoom Imageフォーマット(.dziファイル)を作成しようと思ったところ、意外と苦労したので書いておきます。

 どれほどの人が私的に(趣味として)Deep Zoom Imageフォーマットを作ろうとしているのか、どれだけ需要があるのかわかりませんが、誰かの役に立てば幸いです。

# deepzoom.pyが使えない、request.pyでエラーが出る。

 デジタルコレクションを作成する際に便利なビューワーの一つであり、[みんなで翻刻](https://honkoku.org/)などでも採用されている[Openseadragon](https://openseadragon.github.io/)では[Creating Zooming Images](https://openseadragon.github.io/examples/creating-zooming-images/)としてDZIフォーマットの作成方法が何種類も紹介されています。

 私はPythonしか使えない(一番手っ取り早いのがPythonだった)ので、[Cr

元記事を表示

OTHERカテゴリの最新記事