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

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

【PySimpleGUI】タスクバーやタイトルバーのアイコンを、ソースコードへ埋め込んで設定する方法

PySimpleGUI、とても便利ですよね。まだ触りはじめて間もないですが、短いコードでGUIアプリケーションが作れるのでとても重宝しそうです。

# やりたいこと

アプリ実行時のタスクバーやタイトルバーのアイコンを、オリジナルのものへ変更したい。

# 背景

PySimpleGUIで作成したGUIアプリをPyInstallerで実行ファイル(.exe)化するには以下のようなコマンドを打てばよいですよね。

“`shell
$ pyinstaller –onefile –noconsole –icon=icon32x32.ico hoge.py
“`

このうち、`–icon`オプションによって、実行ファイルのファイルアイコンをオリジナルのものへ変更できます。

しかし、タスクバーやタイトルバーのアイコンはおなじみのヘビのマークのままです。これを変更したいなぁという話です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14157/2f41307c-aa41-0ac3-

元記事を表示

Fusion360のAPIでモデリングを自動化しよう!

この記事は[DeNA 24 新卒 Advent Calendar 2023](https://qiita.com/advent-calendar/2023/dena-24-newgrad)の7日目の記事です。

# はじめに
3Dプリンター全盛の時代、3DCADの需要もうなぎ上り。数多ある3DCADソフトの中でも、Autodesk社のFusion360は、モダンなUIとクラウドベースの利便性、お手軽な料金プラン(学生なら無料で使えます!)で人気があります。
そんなFusion360ですが、APIを利用して簡単にスクリプトやアドインが作成できます。言語をPythonとC++から選べる親切仕様です。

この記事では、APIを活用してどのようなことができるのかを紹介しつつ、これからスクリプトを書き始める人の一助となることを目指します。

# 開発前に知っておくべきこと
APIの公式リファレンスはこちら。

https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-A92A4B10-3781-4925-94C6-47DA85A4F65A

元記事を表示

Google colabでRecBoleを使う方法(How to use RecBole on google colab)

RecBoleとは

以下はRecBoleのgithub上の文章を引用し、修正したものです.

(RecBole: https://github.com/RUCAIBox/RecBole)

RecBoleは、研究目的のために統一された、包括的で効率的なフレームワークで推薦アルゴリズムを再現および開発するために、PythonとPyTorchをベースに開発されたPythonのライブラリの一つです。当ライブラリには、以下の4つの主要なカテゴリをカバーする91の推薦アルゴリズムが含まれています。

1. 一般的な推薦
2. 順序推薦
3. コンテキスト重視推薦
4. ナレッジベース推薦

43のベンチマーク推薦データセットへのサポートを提供しています。ユーザーは提供されたスクリプトを使用して元のデータの処理を行うか、単に我々のチームが処理したデータセットをダウンロードすることができます。

以下はRecBoleの概要図です.

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

元記事を表示

3.selenium4以降のエラーについて

**3.selenium4以降のエラーについて**

selenium3で使用可能だった一部のメソッドについて、selenium4では警告or廃止(エラー)になるため、下記にまとめます。

・目次
3.1.警告機能
 3.1.1.executable_path
3.2.廃止機能
 3.2.1.find_element_by_~

**3.1.警告機能**
executable_path:以下発生
 TypeError: __init__() got multiple values for argument ‘options’

対策:
“`Python.
webdriver.Chrome(ChromeDriverManager.install(), options=options)
“`

↓ selenium4.5以前
“`Python.
service = Service(executable_path=ChromeDriverManager().install())
webdriver.Chrome(options=option

元記事を表示

if __name__ == ‘__main__’

## 対象の読者
Pythonを学習中の方、またはPythonの特殊変数__name__とその使い方について理解を深めたい方向けの記事です。

## \_\_name__と’\_\_main__’
Pythonには__name__という特別な変数があります。これは現在のモジュールの名前を保持しています。Pythonファイルが直接実行された場合(スクリプトとして実行された場合)、__name__の値は’\_\_main\_\_’になります。一方、ファイルが他のファイルからインポートされた場合、__name__の値はそのファイルのモジュール名(.pyを除いたファイル名)になります。

‘\_\_main__’は、Pythonファイルがスクリプトとして直接実行されたときに__name__変数に設定される値です。これはトップレベルの環境、つまりプログラムのエントリーポイントを表します。

if \_\_name__ == ‘_\_main__’という条件式は、ファイルがスクリプトとして直接実行された場合にのみTrueとなります。これにより、ファイルが直接実行されたときだけ実行したいコードをこの

元記事を表示

強化学習でポケモンをプレイする

久しぶりのQiita投稿です.現在,三菱UFJフィナンシャル・グループの戦略子会社であるJapan Digital Design株式会社でリサーチャーをしています.こちらは,[Japan Digital Design Advent Calendar 2023](https://adventar.org/calendars/9000) の7日目の記事になります!

本記事では,「**強化学習を使ってポケモンをプレイする動画**」についてご紹介させていただきます!

※ 動画内容の切り抜き利用につきましては,Peter Whidden氏の許可を頂いております.
※ 本記事では,ポケモンをプレイするための技術を解説していきますが,動画で見た方が面白いので,ご興味のある方はぜひご覧になってみてください!

## 導入

みなさま**強化学習**(reinforcement learning)をご存知でしょうか?

強化学習とは,機械学習の手法1つで,エー

元記事を表示

SQLAlchemyで作成したテーブルのautoincrementについて

# はじめに
本記事はalembicとSQLAlchemyを使用してマイグレーションを管理しているプロジェクトで新規テーブルを追加した際に発生したことをまとめた備忘録です。

# 環境
Python 3.11.5
alembic 1.13.0
SQLAlchemy 2.0.23

mysql 8.0.34

# 何があったの?
とある目的で別テーブルで管理しているIDをPKにしたテーブルを作成することになりました。
以下は実際に発生した事象を再現したものになります。

“`python:既存のテーブル
class User(Base):
__tablename__ = ‘users’

id = Column(BIGINT, primary_key=True, autoincrement=True)
last_name = Column(VARCHAR(16))
first_name = Column(VARCHAR(16))
“`
“`
以下、マイグレーションにより実際に作成されたusersテーブル
+————+———

元記事を表示

顔認証アプリのプロトタイプ

# はじめに
顔認証による入退室管理のWebアプリケーションのプロトタイプを作ってみたので記事にしてみました。
# コード
“`
import streamlit as st
import cv2
import face_recognition
import numpy as np
import os

def load_known_faces(directory=”known_faces”):
known_faces = []
known_names = []

for filename in os.listdir(directory):
path = os.path.join(directory, filename)
image = face_recognition.load_image_file(path)
encoding = face_recognition.face_encodings(image)[0]
known_faces.append(encoding)
kno

元記事を表示

PythonでSeleniumを使ってFirefoxのプロキシを通したい!

## この記事で伝えたいこと
::: note info
↓↓↓httpsにプロキシを設定したいときはこれを使おう↓↓↓
profile.set_preference(“network.proxy.type”, 1)
profile.set_preference(“network.proxy.ssl”, “hogehoge”)
profile.set_preference(“network.proxy.ssl_port”, 8080)
:::

::: note warn
なんでhttpsじゃなくてsslなのかは調べてないよ
(単純にそういう名前じゃないからって言われたらそうなのかもしれない)
プロキシについてうまく理解してないので、そもそもプロキシを通すとか間違ってたらごめんなさい。
:::

## 大事なこと
~~スクレイピングの話題ってなんとなく、危ない気がしなくもないですが・・・~~
**スクレイピングを使用するときは用法用量を守りましょう。
サイト側で定められていることなどは、ちゃんと読みましょうね…。**

## 概要
備忘録がてら、微妙に詰まったのでまとめてみました。

元記事を表示

Openmaya(maya python API 2.0)でポリゴンをゼロから作成して色んな形にする

Autodesk MayaではPythonを使ってポリゴンを作る方法は色々ありますね。よくある基本的な形の場合はmaya.cmdsで簡単に作れますが、普段と違う任意な形を作りたい場合、特に数学的な計算に基づく形ならOpenMayaを使うのも良い選択です。

maya.cmdsと比べて、OpenMayaはわかりにくくて冗長なところもあるが、maya.cmdsでは実現できないような細かい作業ができます。

この記事では簡単なポリゴンの作り方をメインとしてOpenMayaの基本的な使い方を説明します。

ここで使うOpenmayaはmaya python API 2.0です。

なお、Openmayaのバージョンのこととmaya.cmdsやpymelとの違いと速度の比較についてはこの記事で説明してあります。 https://qiita.com/phyblas/items/4b32118498631c1c0e4c

# 簡単な立方体から

まずは一番簡単な立方体の作り方から例を挙げます。

なお、以下のコードは全部、前もってこのようにインポートしたのは前提となります。以後インポートの記述は省

元記事を表示

[備忘録]Numpyでいうところの`array[:][idx]`をJSでもやりたーい

JavaScriptで2次元配列から特定の列の全要素を取得する方法について、Numpy`array[:][idx]`と同様の操作を行う方法を紹介。

# メモ
“`javascript
let idxColumn = array.map(row => row[idx]);
“`

# mapを使う

Numpy、2次元配列(リストのリスト)から特定の列の全要素を簡単に取得できます。例えば、`array[:][1]`は、配列の全行から2列目(インデックス1)の要素を取得します。

JavaScriptで同じことを行うには、`map`関数を使用します。`map`関数は配列の各要素に対して指定された関数を実行し、その結果を新しい配列として返します。

### サンプルコード

以下のサンプルコードは、JavaScriptで2次元配列の特定の列の全要素を取得する方法を示しています。

“`javascript
let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

// 1列目の要素を全て取得
let firstColumn = array.map

元記事を表示

LoLでデスしたらエルシャダイ流すやつを作った【そんなコードで大丈夫か】

# 作ったもの
(音が出ます)

# 作ったきっかけ
AdventCalendarのネタを考えていたところ、長年プレイしているLeague of Legendsのlive client dataが取得できるということを知り、これで何かやるしかないぜ!となりました。
でも省エネでやりたい…ので初めてChatGPTの力を借りて作ることにしました(無課金GPT3.5)。
省エネというからにはドキュメントなんかほぼ読まずにGPTママに全部丸

元記事を表示

ChatGPTとPythonで学ぶ 低分子化合物SMILES生成AI:CVAE編

皆さんこんにちは。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ CVAEで分子生成AI」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

### **assistant**:

もちろんです、よろしくお願いします。

まず、CVAEについて簡単に説明します。CVAEはConditional Variational AutoEncoderの略で、変分オートエンコーダ(VAE)の一種であり、データ生成モデルとして広く利用されています。このモデルの特性は、複雑な入力データから隠れた表現を学習し、その隠れた表現から元のデータを再構成する能力にあります。

分子生成AIというのは、新しい化合物を設計するためのAIツールを意味します。化学の知識と機械学習技術を融合させることで、特定の機能を持つ新しい化合物を発見することが可能になります。

PythonでCVAEを利用して分子生成AIを作る流れは以下のようになります。

1. 化合物データベースから訓練データを収集します。一般的にはSMILES(Simpli

元記事を表示

QGISで点群データ(txt)からラスタ(tif)の一括作成

## QGISで点群データからTifを一括作成したいのでpythonコードを組んでみる
本記事は以下の記事を参考にしています。
・[三次元点群データをQGISでひり出してみた](https://qiita.com/Yfuruchin/items/7b9ea3e823824d2e4e86#las%E3%81%8B%E3%82%89dtm%E4%BD%9C%E6%88%90)
処理の大まかな流れとしてはtxt→las→dtm→tifの順で作成します。

### 事前準備
– QGIS 3.28.6
– [LAStoolsのセットアップ](https://qiita.com/Yfuruchin/items/7b9ea3e823824d2e4e86#lastools%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97)
– [FUSIONのセットアップ](https://qiita.com/Yfuruchin/items/7b9ea3e823824d2e4e86#fusion%E3%81%AE%E3%82%BB%E3%8

元記事を表示

それ,numpy で書かない?–3–

## それ,numpy で書かない?–3–

Python ではリストがよく使われる。また,for ループが遅いのでリストに特化したリスト内包表記も推奨されることが多い。

それなりの根拠があるからではあるが…

課題:エラトステネスの篩を使って $n$ 以下の素数のリストを得る。

“`python
from time import time
import numpy as np
import matplotlib.pyplot as plt

n = 100000
trial = 500
“`

以下のプログラムは,この次に示す numpy によるプログラムをリストを使うように書換えたものである。

“`python
def sieve1(n):
tbl = [True] * (n + 1)
tbl[0:2] = [False, False]
for i in range(2, n + 1):
if tbl[i]:
for j in range(i * i, n + 1, i):

元記事を表示

Python ( boto3 ) からAgents for Amazon Bedrockを呼び出す

前回作成したAgentをPythonから呼び出してみます。

https://qiita.com/cyberBOSE/items/b59b6763f24dded7743c

# エイリアスの作成

APIのI/Fを見るとagentAliasIdが必要なようなので、マネコンの該当Agentから`Create Alias`でエイリアスを作成します。

参考資料

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/bedrock-agent-runtime/client/invoke_agent.html

https://github.com/aws-samples/agentsforbedrock-retailagent/blob/main/workshop/test_retailagent_agentsforbedrock.ipynb

# プログラム

マネコンからAgentのIDと、`Alias ID`をメモしておきます。
※作成時に指定した`Alias name`ではないので注意

元記事を表示

開発者必見!Chromeの拡張機能おすすめ40選【2023年版】

# はじめに
この記事は[Nuco Advent Calendar 2023](https://qiita.com/advent-calendar/2023/nuco)の7日目の記事です。

本記事では、おすすめのChromeの拡張機能を8つのカテゴリ別に40個紹介しようと思います。
利用ユーザー数と評価は、2023年11月時点のものです。

::: note
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、[こちら](https://www.recruit.nuco.co.jp/?qiita_item_id=1887820e3e8b98591a6d)まで。
:::
https://www.recruit.nuco.co.jp/?qiita_item_id=1887820e3e8b98591a6d

# 目次
[Google Chromeの拡張機能とは?](#google-chromeの拡張機能とは)
[1. 開発全般に使える拡

元記事を表示

[LangChain]FAISSベクトルストア検索でメタデータを活用する

# はじめに
LangChainのFAISSベクトルストア検索でメタデータを使った検索方法についてまとめました。

# 実装例
“おはようございます”、”こんにちは”、”こんばんは”という日本語と英語のテキストをサンプルデータとして使用します。
metadataには日本語か英語かという情報が付与されています。

## メタデータを使った類似度検索
“`python
from pprint import pprint
from langchain.vectorstores import FAISS
from langchain.embeddings import OpenAIEmbeddings
from langchain.docstore.document import Document

chunk_size = 500
embeddings = OpenAIEmbeddings(chunk_size=chunk_size)

documents = [
Document(page_content=”おはようございます”, metadata=dict(lang=”ja”)

元記事を表示

ソシャゲのストーリーをテキスト化して布教したい!【画像認識】

# 初めに

昨今のソシャゲはゲーム内容だけでなくストーリーや世界観なども凝ったものが多くなってきた印象があります。かくいう私も、プロジェクトセカイ(以下プロセカ)というゲームのストーリーにハマったオタクです。

https://pjsekai.sega.jp/

面白いコンテンツがあったら友達に布教したくなるのがオタクのサガ。さっそく友達に布教しようと思ったところ、

「ゲームや動画でストーリーを読むのは時間がかかる。文字媒体なら読むかも。」

と言われましたが、公式から台本なども特に提供していなかったためゲーム画面からセリフをテキスト化するコードを作成することにしました。

# 動作解説

![遥杏.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2916360/daef0084-f238-1c9e-511c-19dc9f83a523.gif)

## 動作手順

1. 動画を読み込ませる
1. 「キャラ名ウィンドウ」と「セリフウィンドウ」のそれぞれの領域をマウスで選択する
1. 一定フレーム毎に選択

元記事を表示

PoetryのDependency groupとExtras周りの話

こんにちは。

本記事は株式会社インティメート・マージャーの[Advent Calendar 2023](https://qiita.com/advent-calendar/2023/intimatemerger)の7日目の記事になります。

:::note info
6日目の記事
[Kustomize(v5.2)からpatchesにマルチリソースファイルを指定できる](https://qiita.com/im-dev/items/54abc4ae277121aab3c6)
:::

突然ですがみなさん、Poetry使ってますか?とても便利ですよね!

[アドベントカレンダーの2日目の記事](https://qiita.com/im-dev/items/0cda4059f1a7a537899b)でも出てきた話題ですが、今回はそのPoetryを使っているとよく違いが分からなくなる[`Dependency group`](https://python-poetry.org/docs/master/managing-dependencies#dependency-groups)と[`Ext

元記事を表示

OTHERカテゴリの最新記事