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

Python関連のことを調べてみた2023年09月23日
目次

Google Drive内のファイルとローカルファイルを簡単に同期させるツールを作った

# はじめに

こんにちは。最近、共同制作プロジェクトにおいて、ゲームのアセットや大容量ファイルをどのように効率的に管理するかに悩んでいました。特に複数の人とファイルを共有する必要がある際に、最新のバージョンがどれであるかを特定するのは非常に面倒でした。

そこで、私はGoogle Driveを活用することでこの問題を解決できることを発見しました。しかし、Drive内の全てのファイルを手動で確認し、ローカルのファイルを更新するのは非常に面倒でした。これに対する解決策として、私はGoogle Drive内のファイルとローカルファイルを効率的に同期させるツール、GDriveSyncUtilityを開発しました。

# GDriveSyncUtilityとは

GDriveSyncUtilityは、Google Drive内のファイルとローカルファイルを簡単に同期させるツールです。Google Drive APIを利用して、指定されたフォルダ内のファイルを一括ダウンロードし、ローカルとDrive内のファイルのバージョンを簡単に同期させることができます。

ファイルがGDrive内で更新された

元記事を表示

Python使いの皆さん、Rのキモいところをいっぱいお見せします

# はじめに

事業会社で働いているデータサイエンティストです。普段の業務ではRを利用していますが、Pythonの言語仕様も理解しているつもりです。会社が作成していただいた記事はこちらです:

https://ainow.ai/dx-magazine/?article=article-476

昨日会社のエンジニアの後輩社員にPython使いがキモいと感じるかもしれないRの文法をいっぱい見せたら、いい反応をいただいたので、Qiitaにまとめることにしました。

こんなことを紹介します:

“`
キモいポイントその1:恐ろしい関数
キモいポイントその2:スキーマ大破壊
キモいポイントその3:そのxはどのx?
キモいポイントその4:if文とfor文なんてないよ、if関数とfor関数だよ
キモいポイントその5:あれ?足し算できなくなったけど
“`

まず強調しておきたいのは、Rは決していわゆる「統計ソフト」ではなく、しっかりとしたプログラミング言語で、正しく書けばプロダクトとしてリリースできるほどの堅牢性と保守性が担保されます。

これからはRのキモいところをたっぷり紹介しますが、正直

元記事を表示

AWS CDK – Context

# Context

CloudFormation の Parameters のように使える機能。
コンテキスト値は、アプリ、スタック、コンストラクトに関連付けることができるキーと値のペアです。
キーは文字列で、値は JSON でサポートされている任意の型(数値、文字列、配列、オブジェクト)を使用することが可能。

# Context の提供方法

6 つある。

1. 現在の AWS アカウントから自動的に提供
2. CDK コマンドの –context オプションで指定
3. プロジェクトの cdk.context.json ファイルに記述
4. プロジェクトの cdk.json ファイルの context キー
5. ~/.cdk.json ファイルの context キー
6. construct.node.setContext メソッドで使用

# Context の取得方法

`construct.node.tryGetContext` を使用して Context値を取得します。

# Context methods

|methods|説明|
|—|—|
|

元記事を表示

tkinterを使って和音の波形ジェネレーターを作ってみたよ

# tkinterを使って波形ジェエネレーターを作ろう

 tkinterはpythonでGUIを作れるモジュールです。ボタンやプルダウンボックスを指定してインタラクティブなアプリケーションを作成することができます。今回は、これを使って指定した三和音の波形を表示する簡易ファンクションジェネレータを作ってみました。

# 音階と波形
 先に入力値となる音階についてまとめます。まず、波形ジェエネレーターでは三つの音を選択します。音はドイツ語名で表記してプルダウンボックスで選択する形にします。選択できる音は次に示すA(ラ)からG#/Ab(ラ♭)までの12音です。

“`python
[“A”,”A#/Bb”, “B”, “C”, “C#/Db”, “D”, “D#/Eb”, “E”, “F”, “F#/Gb”, “G”, “G#/Ab”]
“`

 西洋音階では一オクターブ低い音の波長は元の音の波長の半分で、残り12音で等比数列的に波長が変化します。したがって、$i$番目の音の周波数$\lambda_i$と$i+1$番目の音の周波数$\lambda_{i+1}$の関係は次のようになります

元記事を表示

Irisデータセットとstatsmodelsによるロジスティック回帰の実装

この記事では,インターネット上に公開されている [Iris plants dataset](https://archive.ics.uci.edu/dataset/53/iris) (以下Iris データセット) を例にロジスティック回帰分析をstatsmodels (Python) で実装する方法を説明します.

## 概要
Iris (アヤメ) データセットは,セトサ (Iris-Setosa),バーシクル (Iris-Versicolor),バージニカ (Iris-virginica) の3種類のアヤメの花の「がく片 (sepal)」と「花弁 (petal)」の「幅」と「長さ」が収められたデータセットです.

このデータを用いて,がく片の長さ ($x_1$),がく片の幅 ($x_2$),花弁の長さ ($x_3$),花弁の幅 ($x_4$) からアヤメの花がバージニカ種かそれ以外か ($y$) を予測するためのモデルを多重ロジスティック回帰分析を用いて構築します.
ここで
* $y$ は反応変数で,バージニカ種のときは$y = 1$,そうでないときは$y = 0$です.
* $x_

元記事を表示

wxPythonのwxListBoxで全選択状態を解除する

軽く検索した限りでは見つからなかったのでメモ(目が節穴なだけかもしれない)。
ついでに全選択ボタンも記載。
ただこちらはもう少しシンプルな方法がないか調べたい。

“`python
import wx

class MyFrame(wx.Frame):
def __init__(self, parent, ID, title):
wx.Frame.__init__(self, parent, title=title, pos=(100, 100), size=(400, 400))
self.__create_widget()
self.__do_layout()
def __create_widget(self):
#リストボックス
self.columnListbox = wx.ListBox(self, wx.ID_ANY, choices=(“a”,”b”, “c”), style=wx.LB_EXTENDED | wx.LB_NEEDED_SB)

#全選択ボタン

元記事を表示

Pythonで複数の画像ファイルにつけたIPTCのキーワードを集計する(IPTCInfo3を使用)

## はじめに

複数の画像ファイルに付けたキーワードの総数や、キーワードごとの使用回数を調べるという処理を、Pythonのpyexiv2で書きました。画像ファイルのIPTC情報からキーワードを抽出して、集計してみた記事です。

https://qiita.com/st10/items/5ae77fd5393365cce42a

PythonでIPTCを扱うモジュールには、pyexiv2の他にIPTCInfo3というモジュールもあります。

https://pypi.org/project/IPTCInfo3/

https://github.com/james-see/iptcinfo3

こちらのモジュールも試してみることにしました。

## 環境

* OS: Windows 11 Home 22H2
* Python: 64ビット版、3.11.4

## モジュールのインストール

“`
pip install IPTCInfo3
“`

## 複数の画像ファイルにおいて、キーワードごとの出現回数を集計する

pyexiv2で行ったように、基準となるディレクトリ配下のJPE

元記事を表示

Windows11でPyenvをインストールする

# はじめに

Windows11 でPythonの開発環境をセットアップしたので、その備忘録。

# pyenv-win

https://github.com/pyenv-win/pyenv-win

# pyenv インストール

Powershellを開く。(以降全てPowershell上でコマンドを実行する)

カレントディレクトリに`install-pyenv-win.ps1`がダウンロードされた後に、このスクリプトが実行される。

“`powershell
Invoke-WebRequest -UseBasicParsing -Uri “https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1” -OutFile “./install-pyenv-win.ps1″; &”./install-pyenv-win.ps1″
“`

# pyenvのバージョン確認

“`powershell
pyenv –version
“`

:::not

元記事を表示

既存のPyTorchモデルをAmazon SageMakerのリアルタイム推論エンドポイントにデプロイする

# はじめに
この記事は以下のような人を対象としています。
– リアルタイム性が重視されるPyTorchの推論環境をオンプレに構築したが、AWSに移行したい人
– SageMakerでトレーニングしたPyTorchモデルをSageMakerのリアルタイム推論エンドポイントにデプロイしたい人

# 前提
– 推論可能なPyTorchのモデルファイル及びそれを使った推論用のPythonコードが既に手元にあること
– 開発環境でJupyter Notebookが使えること
– 開発環境でBoto3を使用するための認証情報が設定されていること
– SageMakerの操作に必要な権限が付与されていること

# Amazon SageMakerとは
AWS環境上でMLパイプラインを構築できるサービスです。
機械学習モデルのトレーニングや推論に必要な環境の構築を、専用のコンピューティング環境(Amazon SageMaker MLインスタンス上で稼働するコンテナ)上でフルマネージドに行うことができます。

公式デベロッパーガイド:[Amazon SageMakerとは](https://docs.

元記事を表示

AWS環境からOCIリソースのAPI操作(Secrets Managerを使用)

## 概要
AWS EC2からPythonを使用してOCIリソースのAPI操作(Computeの開始操作)を行います。
OCI資格情報について下記の投稿ではEC2内に配置していましたが、今回の記事ではSecrets Managerを使用してEC2内にはOCI資格情報を保存しないためセキュリティを高めています。

[AWS環境からOCIリソースのAPI操作](https://qiita.com/tktk2712/items/7ae9080471ae4935cb13)

## 構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/d9c956eb-d7a4-08a2-9476-81d1349f1901.png)

## 設定手順
* AWS Secrets Managerへのアクセス許可
EC2からAWS Secrets Managerへのアクセス許可付与します。
付与方法については公式情報等を参考に設定するためここでは割愛します。
[AWS Secrets Manager の

元記事を表示

【AzureML プロンプト フロー】Web Classification

# はじめに
今回はAzureMLのプロンプトフローを試してみます。いくつかサンプルフローがありますが、今回はWeb Classificationを試します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/8d98aaa9-6d5e-c292-11ec-b8e4c4d0516f.png)

# Web Classification
Web分類は、与えられたURLを特定のWebカテゴリに分類するためのフローです。
例えば、映画に関するページであれば「Movie」と分類したり、アプリケーションに関するものであれば「App」とカテゴリ分類をする、というものです。

## Azure OpenAIの接続
プロンプトフローを実行するにあたり、LLM接続が必要となってくるため、すでにデプロイしたAzure OpenAIのモデルに接続します。

「接続」タブの「作成」から下記の必要な項目を入力してください。

![image.png](https://qiita-image-stor

元記事を表示

Pythonを使用してPDFドキュメントからテキストと画像を抽出する方法

PDF文書のさまざまな特殊なスタイルを保持しながら、編集、コピー、検索などが難しいものです。PDF文書のコンテンツを処理する必要がある場合、テキストと画像をPDF文書から抽出して、これらのコンテンツをさらに操作したり、他の目的に使用したりするために、ツールを使用することが選択肢となります。この記事では、Pythonを使用して**PDFファイルからテキストと画像を抽出して保存する方法**について説明します。

この方法には、[Spire.PDF for Python](https://www.e-iceblue.com/Download/Spire-PDF-Python.html)が必要です。公式ウェブサイトからダウンロードするか、pipを使用して直接インストールすることができます。
“`
pip install Spire.PDF
“`

## PDFファイルからテキストを抽出する方法
**ExtractImages** メソッドは、個々のページのすべてのテキスト(空白を含む)を抽出し、文字列として返します。したがって、ドキュメントの各ページを反復処理し、このメソッドを使用して各ペ

元記事を表示

AWS CloudShellでの対話的操作で手軽にboto3を試すには

# はじめに

この記事では、AWS CloudShellでPythonのSDK、boto3を対話的に使用する方法を解説します。

CloudShellには、Pythonとboto3がプリインストールされています。さらに、CloudShellはマネージメントコンソールから認証情報を引き継ぐため、boto3に認証情報を明示的に渡す必要がありません。これにより、セットアップが不要です。

また、この手法は、AWSリソースの操作だけでなく、boto3のAPIを試す際にも非常に便利です。

# AWS CloudShellとは

AWS CloudShellは、マネージメントコンソールから直接アクセスできる、ブラウザベースのシェル環境です。AWS CLIや各種SDK、その他のシェルユーティリティをプリインストールされた状態で使用することができます。

https://docs.aws.amazon.com/ja_jp/cloudshell/latest/userguide/welcome.html

# boto3とは

boto3は、AWS SDKのPython版であり、AWSのリソースにプ

元記事を表示

ヤングの実験をアニメーションで表現してみたよ

# ヤングの実験

 光を二重スリットを通過させると光の回折と干渉により明暗の干渉縞が生じる。これがヤングの実験である。光の波の性質を利用した現象だが、二重スリットを通過した二つの波がスクリーンで干渉縞を作るのが少しイメージしづらい。そこで、pythonを用いて二つの点から出た波を重ね合わせて強め合うところと弱め合うところができるというのをアニメーションで実感しようという試みです。

 二次元的なアニメーションにすることで干渉縞ができることが実感しやすいかと思います。

# プログラム
 スリット間隔を変数で変更できるようにしておきます。

“`Python
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

plt.rcParams[“font.family”] = “Times New Roman”

#スリッド幅の変数、実際のスリット幅はこれの2倍
distance = 1

#描画時間
tnum = 100

xnum = 100
ynum =

元記事を表示

(複接線)(二重接線)「2022 慶応義塾大学 環境情報学部【3】」をChatGPTとWolframAlphaとsympyでやってみたい。

**・私は、「重解」の意味が少し理解できてきました。**
**・私は、「第1種オイラー積分」を勉強したいと思います。(後日)**
 ありがとうございました。

オリジナル
(youtube 14:50) math karat 様より

上と同じです。大学入試数学問題集成 様>テキスト【3】 

https://mathexamtest.web.fc2.com/2022/202213338/2022133380700mj.html#top-0703

# ChatGPT-3.5先生へ(できませんでした。)
入力文(一括入力です。)
**私の入力が、下手なのかもしれません。** sympyのソースコードを出力してほしいです。
“`
xy平面上の曲線Cを
y=x**2*(x-1)*(x+2)とする.
(1)Cに2点で下から接する直線Lの方程式を求めよ.
(2)CとLが囲む面積を求めよ.
“`
???回答???
“`
???(1)…したがって、Cに2点で下から接する直線Lの方程式は次の3つです。
???(2)…数値

元記事を表示

AWS環境からOCIリソースのAPI操作

## 概要
AWS EC2からPythonを使用してOCIリソースのAPI操作を行います。
今回はOCI上のComputeに対して開始操作を行います。

## 構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/1c29e7ca-f145-fec3-f82a-ab9e204da0d6.png)

## 設定手順
* OCI資格情報取得
OCIリソース操作可能なOCIユーザーIDの資格情報を取得します。
今回は既存のユーザーIDのトークンベースの認証を行っておりますので通常の資格情報よりもトークンが資格情報に付加されています。
参考:
[CLIでのトークンベースの認証](https://docs.oracle.com/ja-jp/iaas/Content/API/SDKDocs/clitoken.htm)

通常のAPI認証の資格情報設定は以下リンクの3-1. CLI構成ファイルの設定を参照してください。
[コマンドライン(CLI)でOCIを操作する](https://or

元記事を表示

PythonプログラムでWordに画像を挿入する方法

Wordドキュメントを作成する際、必要な位置に画像を挿入することは良い選択肢です。これにより、文書の内容が豊かになるだけでなく、優れた視覚効果によって読者の関心を引くこともできます。では、この機能をプログラムでどのように実現するかを見てみましょう。以下に関連するメソッドとコードの紹介があります。

## ツール
* Visual Studio Code
* [Spire.Doc for Python](https://www.e-iceblue.com/Introduce/doc-for-python.html)

このプロフェッショナル ライブラリは、[Word ドキュメントの作成](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Document-Operation/Python-Create-Read-or-Update-a-Word-Document.html)、[Word から PDF への変換](https://www.e-iceblue.com/Tutorials/

元記事を表示

三直線と外接円「2023 新潟県立大 A日程【1】(3)」をChatGPTとWolframAlphaとsympyとFreeCADでやってみたい。

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

オリジナル

https://mathmathmass.exblog.jp/33456533/

上と同じです。大学入試数学問題集成 様>テキスト 【1】(3)

https://mathexamtest.web.fc2.com/2023/202311325/2023113250100mj.html#top-0103

# ChatGPT-3.5先生へ(**???(1)(2)間違っていました。???**)
入力文(一括です。)
“`
以下の問いに答えなさい。
(1)3直線x-3*y+18=0,x+2*y-12=0,x+y-10=0の囲む三角形の頂点の座標をそれぞれ求め
   なさい。
(2)(1)で求めた3点からなる三角形の外接円の方程式を求めなさい。
“`
???回答???
“`
(1)…(6, 2) です。…(8, 2) です。…(8, 2) です
(2)…したがって、外接円の方程式は (x – 7)^2 + (y – 2)^2 = 1 です。
“`
# WolframA

元記事を表示

ε-greedy法を使って◯✕ゲーム作ってみた

すみません、自分にはまだε-greedy法を説明できないので、実装したコードだけ載せます。
試行回数は10000回にしました。
///追記///
試行回数100回でも「勝ち確の場所には置く」「相手のリーチは防ぐ」という最低限のことはしてくれていました。

↓ソースコード
“`python:◯✕ゲーム
import math
import random
import numpy as np
import copy

root2=math.sqrt(2)
epsilon=0.5

#ボード、空き→0,◯→3、×→4
board=[0,0,0,
0,0,0,
0,0,0]

class player:
def __init__(self):
self.disc=0
self.opp_disc=0
class board_place:
def __init__(self):
self.coor=0#座標
self.win=0
self.tie=0
sel

元記事を表示

HTMLタグ内のカラーコードをPillowで適用する【Python】

# 初めに
これが
“`
これが青い、またhogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge別の色これがグレーこれが黄色い、’,
“`

こうなります。
![スクリーンショット 2023-09-22 112153.png](ht

元記事を表示

OTHERカテゴリの最新記事