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

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

【Python】飛行機の運動をシミュレートするプログラムをつくる その1

# はじめに

本プログラムは飛行機の運動がつり合い状態からの微小擾乱と考えた場合の運動をシミュレートするプログラムです。

『航空機力学入門 (加藤寛一郎・大屋昭男・柄沢研治 著 東京大学出版会)』の3章「微小擾乱の運動方程式」をベースに作成しています。

コードを実行すると、こんな感じで飛行機の動きをアニメーション人できます。

![paper_plane (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/de4079df-29dc-2f5c-0f97-7dc3ab743345.gif)

プログラムはgooglecolabで実行できるように公開しています。

https://colab.research.google.com/drive/1qv5Hll_v4UWcC6YVJDv2KYifhyz7vU5Q?usp=sharing

# 参考

本プログラムは以下の書籍及びwebサイトを参考になるべく仮定や微小量を消さずに作成しました。

先人たちのおかげでコーデ

元記事を表示

Python 3.9で`poetry install`を実行したら、numpy 2.1.0をインストールしようとしてエラーが発生した

:::note
この記事は2024/08/20に動作を確認しました。
2024/08/20時点では、最新バージョンは以下の通りです。
* numpy 2.1.0
* pandas 2.2.2
:::

# 環境
* Python 3.9.19
* poetry 1.8.3

# やりたいこと
Python3.9以上で動作するツールを作っています。
ツールはpandasとnumpyを利用しています。

依存ライブラリはpoetryで管理しています。設定ファイルは以下の通りです。

“`toml:pyproject.toml
[tool.poetry]
name = “awesome”
package-mode = false

[tool.poetry.dependencies]
python = “^3.9”
pandas = “^2”

[build-system]
requires = [“poetry-core>=1.0.0”]
build-backend = “poetry.core.masonry.api”
“`

ツールはnumpyを利用していますが、pandasを

元記事を表示

Teradata AutoML

[Teradataml automl – テラデータ AutoML](https://docs.teradata.com/r/Lake/Teradata-Package-for-Python-Function-Reference-on-VantageCloud-Lake/teradataml-AutoML) [2024/08/20時点]の翻訳です。

:::note information
各機能の詳細な説明に関しては、段階的にリンクを追加していきますので、リンクから詳細ページを参照してご利用下さい。
:::

## AutoMLによる機械学習のアプローチ方法の変化
Teradata AutoMLは、エンドツーエンドの機械学習フローを自動化する機能を提供します。

automl.png

## Teradata

元記事を表示

不動産データをPythonで分析してみる

# データを取得する
https://www.reinfolib.mlit.go.jp/realEstatePrices/

![Screenshot 2024-08-20 145502.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/722467/299201b4-a5e4-010f-0d73-0dbc2865aa34.png)

自分の近所のデータとかでも面白いかも。

# Shift_JIS から UTF-8 に変換

データ処理のために下記処理でエンコードを変換してください。

“`
input_file = “きみがとってきた.csv”
output_file = “きみがとってきた_utf8.csv”

with open(input_file, ‘r’, encoding=’shift_jis’, errors=’replace’) as f_in:
content = f_in.read()

with open(output_file, ‘w’, encoding=’utf-8

元記事を表示

WebブラウザからDB登録する

# 仕様
画面から名前、年齢、Eメールアドレスを入力し、登録ボタンを押すとDBに登録される。
### 入力画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3850581/883b82e9-c5ff-7fd0-b338-16b403bcfc7a.png)
### 登録完了画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3850581/bb635b5b-f331-c903-43c9-ba04734cbe39.png)
### DB登録状況
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3850581/5f7327e4-7eff-29a7-0931-ae25ece93916.png)

### 動作設計
“`plantuml
@startuml
participant ブラウザ as c

元記事を表示

Pythonユーザー必見!知らなきゃ損する小ネタ集

# はじめに

Python のあまり知られていない便利な小ネタを筆者の独断と偏見でとりとめなくまとめました。標準だけどドキュメントを隅々まで読まないと見落としてしまうような機能を、周辺知識にも触れながら紹介していきます。

ちなみに記事のタイトルは ChatGPT 先生に考えてもらいました。知らなくても特に損はしないと思います。

:::note info
本記事の内容は Python 3.8 以降を想定しています。また、3.9 以降で新しく追加された機能については、追加されたバージョンを記載しています。
:::

# スワップ

変数のスワップには専用の記法があります。

“`python
a = 1
b = 2
a, b = b, a
print(a, b) # 2 1
“`

余計なタプルが作られそうな見た目をしていますが、実際は下記の動作に置き換わるため、パフォーマンスの心配はありません。

1. 右辺の変数をスタックに一つずつロードする
2. スタックを [スワップ](https://docs.python.org/ja/3.11/library/dis.htm

元記事を表示

BlenderのバージョンによるPythonからの頂点カラーレイヤーの追加方法の違い

# 概要
BlenderのPythonスクリプトから頂点カラーレイヤーを追加する場合、
Blender3.3以前では **bpy.ops.mesh.vertex_color_add()** と記述し、
Blender3.4以降では **Mesh.data.vertex_colors.new()** と記述します

### Blender 3.3以前
“`Python
import bpy

Mesh = bpy.context.view_layer.objects.active # 選択されているメッシュを取得

# メッシュに頂点カラーレイヤーが無かったら追加する
if not Mesh.data.vertex_colors:
bpy.ops.mesh.vertex_color_add() # ★Blender3.3以前の頂点カラーレイヤー追加方法
Mesh.data.vertex_colors[0].name = “Col” # 頂点カラーレイヤーの名前設定
“`

### Blender 3.4以降
“`Python
i

元記事を表示

【Lambda】pythonの画像処理ライブラリのPillowをインポートするのに手間取った話

どうもこんにちは。

今回は、AWS Lambdaを使用してPillowをインポートしようとした時につまづいたのでメモしておきます。

# Pillowってなに?

そもそもPillowって何って話ですが、以下の記事にはこのように記載されていました。

> OpenCVのようにコンピュータービジョン系の高度な画像処理(顔検出やオプティカルフローなど)はできないが、リサイズ(拡大・縮小)や回転、トリミング(部分切り出し)のような単純な処理が簡単にできる。

https://note.nkmk.me/python-pillow-basic/

ほうほう…

今回は、base64エンコードされた画像データをバイナリデータに変換し、さらにバイナリデータから画像を読み込んで画像オブジェクトに変換してS3に保存するというなんともめんどくさい処理をする必要があるので、Pillowを使用しています。

“`python
# 画像生成試してます
response = bedrock_runtime.invoke_model(
body=body,
modelId=”amazon.t

元記事を表示

QRコード動画を使ってzipファイルをやり取りしてみた

:::note alert
悪いことに使える可能性もゼロではないと思いますが、この記事の内容を用いた行動は自己責任でお願いします。
:::

# はじめに
はじめまして。初投稿です。セキュリティコンサルをしております。普段は監査とか法規対応とかその辺をメインで仕事してますので技術屋さんではないです。~~そもそも技術寄りの内容はさせてもらえないですけど~~

さて、世の中には社内の機密情報を社外に持ち出す人間がいます。少しニュースを調べれば顧客情報を持ち出したり、営業秘密を持ち出した事件が出てくると思います。
この手の話になると、「私物のUSBメモリは禁止」とか「個人のメールアドレスにメールを送るのは禁止」とかになって監視するためのソフトありますが、個人的にはずっと
>「HDMIを外部機器に差し込んで録画すればいいんじゃね?」

と思ってました。ExcelとかPDFとかは直接持ち出せなくとも、映像としては外部に持ち出せるんではないか、という話です。監視ソフトがHDMIの端子を監視していたところであまり問題視されない(リモートワークが増えて私物のディスプレイに繋ぐ機会が増えてからはなおさら

元記事を表示

XGBoost(深さ優先探索)LightGBM(幅優先探索)そしてCatBoostの三つの機械学習モデルの性能比較。

![8bcffd41-8a10-4d2f-b426-0bf1c101b479.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/9d967d45-7693-58ed-c732-385f04692eef.png)

#### タイトル: “データの探求者”

東京の中心部にある高層ビル群の一角、カフェの静かな一席に座っているプログラマ、佐藤翔平は、データ分析の海に没頭していた。彼の目の前には、ノートパソコンのスクリーンが広がり、数千行のコードと複雑なグラフが表示されている。東京の喧騒から隔絶されたこの小さな空間で、翔平はデータの謎を解き明かすために夜を徹して作業していた。

翔平の目標は、異なる機械学習モデルの性能を比較することだった。具体的には、XGBoost、LightGBM、そしてCatBoostの三つのモデルが、異なるデータサイズに対してどのような精度と処理時間を示すのかを評価することに決めた。彼のミッションは、データサイエンスの世界での一歩先を行くための鍵を見つけることだった。

元記事を表示

PythonのPyTorchで学ぶ機械学習

## Chapter 1: PyTorchの概要
PyTorchは、ディープラーニングモデルを構築、トレーニング、評価するための強力なライブラリです。Pythonをベースにしており、動的計算グラフを使用するため、柔軟性と直感的なデバッグが可能です。

“`python
import torch

# Tensorの作成
x = torch.tensor([1.0, 2.0, 3.0])
print(“Tensor x:”, x)
“`

## Chapter 2: Tensorの基本操作
TensorはPyTorchの基本データ構造で、N次元配列として機能します。NumPyの配列と似ていますが、GPUでの計算をサポートしています。

“`python
# Tensorの加算
a = torch.tensor([1, 2])
b = torch.tensor([3, 4])
c = a + b
print(“Tensor a:”, a)
print(“Tensor b:”, b)
print(“Sum c:”, c)
“`

## Chapter 3: 自動微分
PyTorchの

元記事を表示

「究極の同時並列計算 決定木モデル」。できた。

![763773eb-9883-407d-a65b-887b1ac10616.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/b7bf2568-84f8-af14-78ff-9d651be4f73d.png)

#### ショートストーリー: 「究極の並列決定木モデル」
東京の摩天楼の片隅にある、小さなオフィスの一室。そこにこもりきりのプログラマー、佐藤翔太は、画面に映し出された無数の数字とコードに目を凝らしていた。彼の目指すもの、それは東京株式市場の全銘柄、すべての値動きを模倣する究極のモデルだった。翔太は、データの流れを追い、株価変動のパターンを解析しようとしていた。しかし、膨大なデータに直面するたびに、現行の技術では到底追いつけない現実に悩まされていた。

「決定木…そう、これはシンプルだが強力だ。データを分岐させながら、重要な特徴を抽出する。それを繰り返せば、株式市場の動きを再現できるかもしれない。」翔太は自問しながら、コードを書き進めていた。決定木は、データを右か左

元記事を表示

競馬予想AIを作りたい(データ収集編2)

# 前回の話
とりあえずnetkeiba.comからデータを集めてきて学習させた。
一着を当てる問題として学習させたが、過学習するし精度は20%程度しか出なかった。
原因を考えた結果、全レース18頭立てというわけではないので、上手くいかないと仮定し、再挑戦することにした。

### 補足
前の記事で使っていたデータが吹っ飛んだため、データを収集し直しました。
この記事以降で扱うデータは、中央競馬の2008年~2022年の芝レースかつ、「未出走」「未勝利」「新馬」を除いた全14630レース分のデータを扱っていきます。
(芝に限ったのは、予測しやすくするため)

# 今回の話
仮定は違っていたようなので、データを見直すことにした。

## 仮定した結果は影響なし
18頭立てのレースだけに絞って学習させたが、特に傾向が変わることは無かったので失敗に終わった。
ついでにデータを増やし、レース場や距離、馬体重や増減、性別も加えてみたが、これも対して変わらなかった。
(面倒になったので、レース場と距離、性別は外すことにした)

## データの見直し
### 着順と他の項目の相関を見る
ひとまず、着

元記事を表示

[C#] Python.Netでvenvを使う際に公式ドキュメントどおりにコードを書いてもアプリが落ちてしまう事象についての備忘録

– C#でPython.NETを使いPythonのモジュールを呼び出すアプリケーションを作っている最中に発生した不具合に関する備忘録です
– Python.NETからpythonのvenvの環境を使用しようとしたときにアプリケーションがクラッシュする事象の回避策を調べた結果です
– 次のドキュメントと実機の情報を基にして、OpenAI(gpt-4o)をつかって生成した文章を一部手直したものです。OpenAIからの応答に一部手を加えましたが、OopenAIに与えるプロンプトと背景情報を改善すれば、手直しすることなく目的のドキュメントが生成できたのかもしれません。

– 公式ドキュメント:https://github.com/pythonnet/pythonnet/wiki/Using-Python.NET-with-Virtual-Environments
– GitHubのIssue 1478:https://github.com/pythonnet/pythonnet/issues/1478
– GitHubのIssue 1478の中で、回避策として用いた方法:h

元記事を表示

『モデルベース深層学習と深層展開』読み会レポート#7

$\def\bm{\boldsymbol}$

# 概要
– オンラインで開催している[『モデルベース深層学習と深層展開』読み会](https://majime-ni-study.connpass.com/event/)で得られた知見や気づきをメモしていく
– ついでに、中身の理解がてらJuliaサンプルコードをPythonに書き直したコードを晒していく
– 自動微分ライブラリにはJAXを使用する

# 第7回
## 大まかな内容
– 二値制約二次計画問題の解法に深層展開を適用した例について
– DU-BQP法
– スパース信号再構成の問題の解法の近接勾配法に深層展開を適用した例について
– DU-ISTA法
## 議論になったこと
### 4.2節冒頭 あたり
– 組み合わせ最適化=離散最適化
– ”NP困難”とかは、効率的な解法があるかないかを規準としたような問題のクラス分けの一種
– [参考](https://daigakudenki.com/np-hard/)
### 4.2.1節 あたり
– $C\equiv \lbrace-1,1\rbrac

元記事を表示

【Python】WinSCPスクリプトを利用してリモートPCのファイルをダウンロードする方法

## 概要
Python×WinSCPスクリプトを利用することでリモート環境にあるファイルをローカル環境にダウンロードできます。paramikoという外部ライブラリを利用することでも実装できますが、今回は敢えてこの方法で紹介していきます。

## 実施環境
Windows11(Windows10でも可)
Python 3.12.4
WinSCP

## 実装方法

コードブロックを分けていますが、1本のファイルに記載して大丈夫です。

“`download_remote_file.py
import os
import subprocess
“`

“`download_remote_file.py
def main():

host = “127.0.0.1”
user = “pecorimaru”
password = “Cnetuser”
remote_path = “/tmp/テスト.pdf”
local_path = “E:\\data\\Documents\\SE\\Git\\Python\\jidoca312\\data\\f

元記事を表示

Python *args と **kwargs の正体:可変長引数を使いこなして柔軟な関数を作ろう

## 記事の概要

Pythonプログラミングにおいて、`*args`と`**kwargs`は非常に強力かつ柔軟な機能です。これらを使用することで、関数やメソッドに可変長の引数を渡すことができ、より汎用的で再利用可能なコードを書くことができます。この記事では、`*args`と`**kwargs`の基本的な使い方から、高度な応用例、パフォーマンスの考慮事項、さらには一般的なアンチパターンまで詳しく解説します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/2207e6df-8e05-9fe2-676d-265712128549.png)

## 基本的な使い方

まずは、`*args`と`**kwargs`の基本的な使い方を簡単に復習しましょう。

“`python
def example_function(*args, **kwargs):
print(“Positional arguments (args):”, args)
print(“Keyw

元記事を表示

GitHub PR Issue Greeterで効率的なワークフローを実現:自動応答ボットGithub appの導入ガイド

## はじめに

現代のソフトウェア開発において、GitHubリポジトリの管理は欠かせません。しかし、新しいプルリクエスト(PR)やIssueに迅速に対応することは、開発者にとって大きな負担となることがあります。そこで注目されているのが「GitHub PR Issue Greeter」です。このボットを使えば、PRやIssueへの初期対応を自動化し、開発チームの効率を大幅に向上させることができます。

## デモ動画

元記事を表示

djangoの汎用手順

## Django汎用手順
djangoを学習し始めで忘れないように作りました。

“`bash
# Python仮想環境(venv)の作成
python -m venv venv

# 仮想環境をアクティベートする(Mac/Linuxの場合)
source venv/bin/activate

# pipのアップグレード(任意)
pip install –upgrade pip

# Djangoのインストール
pip install django

# Djangoプロジェクトの作成
django-admin startproject <プロジェクト名>

# プロジェクトディレクトリに移動
cd <プロジェクト名>

# 初期マイグレーションの実行
python manage.py migrate

# アプリケーションの作成
python manage.py startapp <アプリ名>

# アプリケーションをプロジェクトの設定に追加(settings.pyを編集)
# settings.pyのINSTALLED_APPSにアプリ名を追加
# INSTALLED_APP

元記事を表示

直角を三等分する線「高校入試チャレンジ問題 △EBDの面積は?」をsympyとFreeCADでやってみたい。

・問題文は2次元ですが、3次元FreeCADのマクロで、XY平面上に作図しました。

**パイソニスタの方へ**
・本問題の本質は、奥が深そうなので、私が理解できれば、(その2)を投稿したいです。

# オリジナル
・YUUU0123 様 (0:00〜5:34)

# sympyで(オリジナル 様の方法を参考に)
#### ver0.1 >2つ分を引けばいい。
“`python
# ver0.1 >2つ分を引けばいい。
from sympy import *
var(‘h’,real=true,positive=true)
h=solve(Eq(sqrt(3)*h,6-h),h)[0]
print(“#”,6*6*Rational(1,2)-2*(6*h*Rational(1,2)))
# 36 – 18*sqrt(3)
“`

#### ver0.2 無理をすれば、???、代入式(h=…)なしで。print文の中に。
(省略)

#### ver0.3 sympyのTriangle の area。キーワードas

元記事を表示

OTHERカテゴリの最新記事