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

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

pythonから他言語の関数にリストを渡す際の速度比較

## 概要
pythonから他言語で記述した関数にリストを渡す際の処理則の比較をする。今回は、他言語の関数にリストを渡すまでのpython側での実装方法の差による処理速度の比較する。比較する実装はRustの関数にリストを渡す場合を想定して用意した。

## 比較する実装
1. `’,’.join(tokens)`
1. `json.dumps(tokens)`

## コード
“`python
import json
import time
import matplotlib.pyplot as plt

# トークンリストの長さ
lengths = [10, 100, 1000, 10000, 100000]
# 処理時間を記録するリスト
times_comma = []
times_json = []

# 各長さに対して実験
for length in lengths:
tokens = [‘token’] * length
# カンマ区切り文字列の時間計測
start_time = time.time()
for _ in range(100)

元記事を表示

Python備忘録【アプリ化】~ブクマ機能付きメモ帳作成編~

# はじめに
Pythonで作成したプログラムを実行ファイルに変換する手順です。

実行環境
* Windows 10
* Visual Studio
* Python 3.11.3

以下のページを参考にしました。
[Pythonファイルをexe/app化する。](https://qiita.com/MatsuM2_1007/items/77d72b96067688f8dafc “Qiita内”)
[python テキストエディタ作成 -tkinter-](https://qiita.com/itakura1984/items/cc61d32d590e844cb4a7 “Qiita内”)
[【Python3】メッセージボックスの表示](https://qiita.com/DEETHIRATH/items/c0d343d0be078830a55a “Qiita内”)

# プログラムを作成
お好きなプログラムを作成しましょう。
以下は、Tkinterを利用したサンプルです。

サンプルコード

“`Python:
import

元記事を表示

S3へアップロードされたことをトリガーにzipファイルをLambdaを使って解凍しよう!

## 概要
S3へzipファイルがアップロードされたことをトリガーにzipファイルを解凍するLambdaを作成する方法について解説していきたいと思います

## 前提
– Pythonで解凍処理を作成します

## Lambdaの作成
zipファイルを解凍するLambdaを新規作成します
![スクリーンショット 2024-04-22 15.45.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625980/79bf32d3-5dd4-6a2e-9427-396037764f1e.png)

今回は基本的なLambdaアクセス権限で新しいロールを作成します
![スクリーンショット 2024-05-10 13.46.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625980/0a239a10-2092-415c-06d0-a55d9687c233.png)

## zipファイルを解凍する処理の作成
まず、S3へz

元記事を表示

AWS CDK 脳死で環境をセットアップ

### AWS CDKを使ってみたいけどよくわからない
構築したいディレクトリで下記コードを実行するとそれっぽいものができた

“`bash:bash
pip install aws-cdk.core
cdk init app –language python
pip install -r requirements.txt
“`

あとはCLIの設定(profileとか)をしてcdk deployで更新できるみたい

**————————– 以下は設定後に確認できるREADME ————————–**

# CDK Python プロジェクトへようこそ!

これは、Python を使った CDK 開発のための空白のプロジェクトです。

`cdk.json` ファイルには、CDK Toolkit がアプリケーションを実行する方法が記述されています。

このプロジェクトは、通常の Python プロジェクトと同様に設定されています。初期化プロセスでは、このプロジェクト内に `.venv` ディレクトリの下に仮想環境が

元記事を表示

高速な埋め込み: Spark* NLP と OpenVINO™ を使用して大規模で高速な BERT 推論を実現

この記事は、Medium に公開されている「Supercharged Embeddings: Unlocking Faster BERT Inference at Scale with Spark NLP and OpenVINO™」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
https://medium.com/openvino-toolkit/supercharged-embeddings-unlocking-faster-bert-inference-at-scale-with-spark-nlp-and-openvino-6f67e7c7d67d

この記事の PDF 版は下記からご利用になれます。
https://www.isus.jp/wp-content/uploads/pdf/openvino_19_supercharged-embeddings-unlocking-faster-bert-inference.pdf
![openvino_19_figure1.png](https://qiita-im

元記事を表示

銀行名とその支店名をCSVでダウンロードしたい!!

### Pythonと「銀行くん」APIで銀行と支店のデータを取得し、保存する方法

このガイドでは、「銀行くん」APIを使って日本全国の銀行とその支店情報を取得し、それをCSVファイルに保存する方法を分かりやすく説明します。
この手順は、プログラミングが初めての方やデータ収集に興味がある方にも理解しやすいようにしています。

#### 1. Pythonのインストール
Pythonをインストールする手順は以下の通りです。

– [Python公式サイト](https://www.python.org/downloads/)へアクセスします。
– 「Download Python」ボタンをクリックして、お使いのオペレーティングシステムに適したインストーラをダウンロードします。
– ダウンロードしたインストーラーを実行します。
– インストール中に「Add Python 3.x to PATH」のチェックボックスを選択してください。これにより、PythonがシステムのPATHに追加され、コマンドプロンプトから直接Pythonを実行できるようになります。
– インストールが完了するまで指

元記事を表示

python リストのメソッドたち

### append
“`diff_python
list = [‘a’,’b’,’c’]
list.append(‘d’)
print(list) #[‘a’,’b’,’c’,’d’]
“`
`append(x)`は、リストの末尾に要素`x`を1つ追加します。

### extend
“`diff_python
list1 = [‘a’,’b’,’c’]
list2 = [‘d’,’e’,’f’]
list1.extend(list2)
print(list1) #[‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’]
“`
`extend(iterable)`は、`iterable`のすべての要素を対象のリストに追加し、リストを拡張します。(リストを結合するイメージ)

### insert
“`diff_python
list = [‘a’,’b’,’d’]
list.insert(2,’c’)
print(list) #[‘a’, ‘b’, ‘c’, ‘d’]
“`
`insert(i, x)`は、指定した位置`i`に要素`x`を挿入します。

### rem

元記事を表示

クソアプリ検討会① 〜スマホを使った野球バットスイングシミュレーションアプリ〜

# はじめに
スマホを使った野球バットスイングシミュレーションアプリを思い付きましたので企画・設計からリリースまでの流れを検討しました。

# 企画
### アプリの目的
このアプリは野球のバットスイングをシミュレーションすることで、ユーザーが野球の打撃練習を楽しく学べるようにすることを目的とします。
また、エンターテインメント要素を取り入れることで、幅広い年齢層に楽しんでもらうことも目指します。

## 主要機能
#### スイング検出
スマートフォンの加速度センサーとジャイロスコープを使用して、ユーザーのスイングの速度と角度を検出します。
#### 音声再生
スイングの品質に基づいて異なる音声を再生します。
最適なスイングで高音のクリアな音(カキーン)、不適切なスイングで低い鈍い音(ボコッ)を出します。
#### フィードバックと指導
スイングのデータを分析して、ユーザーに具体的な改善点やアドバイスを提供します。
#### スイング履歴の保存と分析
ユーザーのスイング履歴を保存し、進捗をグラフや統計で表示します。

## ユーザーインターフェース
#### メイン画面
スイングを開

元記事を表示

手を動かして理解するデコレータ

# 背景
デコレータを見たことがあるのですが、なんとなくの理解の為ここで苦手意識を克服します!

# デコレータとは

https://docs.python.org/3/glossary.html#term-decorator

`関数を引数に受け取り、別の関数を返す関数`です。
[高階関数](https://utokyo-ipp.github.io/6/6-2.html#:~:text=%E4%B8%80%E8%88%AC%E3%81%AB%E3%80%81%E9%96%A2%E6%95%B0%E3%82%92%E5%BC%95%E6%95%B0%E3%81%A8%E3%81%97%E3%81%A6%E5%8F%97%E3%81%91%E5%8F%96%E3%81%A3%E3%81%9F%E3%82%8A%E8%BF%94%E5%80%A4%E3%81%A8%E3%81%97%E3%81%A6%E8%BF%94%E3%81%97%E3%81%9F%E3%82%8A%E3%81%99%E3%82%8B%E9%96%A2%E6%95%B0%E3%82%92%E9%AB%98%E9%9A

元記事を表示

SciTools UnderstandのAPI活用方法

SciTools UnderstandのAPIは、ソフトウェア開発やメンテナンスにおいて、コード解析やデータ抽出を自動化するための強力なツールです。ここでは、開発プロジェクトで特に役立つ使い方の例をいくつか挙げます。

### 1. コードメトリックのレポート生成

Understand APIを使って、コードの品質を評価するためのメトリック(例:コード行数、循環的複雑度、重複コード)を自動で抽出し、定期的なレポートを生成できます。これにより、プロジェクト全体の品質を客観的に追跡できます。

“`python
import understand as und

# プロジェクトを開く
db = und.open(‘path/to/project.udb’)

# 関数ごとの複雑度をレポート
for func in db.ents(‘function’):
complexity = func.metric([‘Cyclomatic’])
print(f”{func.longname()} – 複雑度: {complexity[‘Cyclomatic’]}”)
“`

元記事を表示

SciTools Understandで特定のコミットの変更関数に対してButterflyグラフを描く

コードの視覚化において、関数間の影響範囲を簡単に理解するのにButterflyグラフはとても有効です。この記事では、Gitの`git show`コマンドのように特定のコミットで変更された関数に限定して、SciTools Understand APIを用いてButterflyグラフを生成する方法を紹介します。

#### Butterflyグラフとは
Butterflyグラフは、ある関数エンティティが他の部分とどう影響し合っているかを示す可視化ツールです。特定の関数が直接・間接的に依存している部分を、左右に広がる羽のような形で示してくれます。特定のコミットで変更された関数のButterflyグラフを生成することで、プロジェクト全体に与える影響を理解するのに役立ちます。

#### 必要な環境
1. **Understandプロジェクト**: 事前にUnderstandでプロジェクトを作成し、`.udb`ファイルを用意しておきます。
2. **GitPython**: GitリポジトリにアクセスするためにPython用のGitインターフェースを使用します。

#### ステップバイステップ

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その79 リプレイ機能の < ボタンに関する修正

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/aa8654c3b5f55a9e08b7

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

https://github.com/ysgeso/marubatsu/blob/master/079/marubatsu.py

https://github.com/ysgeso/marubatsu/blob/master/079/ai.py

https://github.com/ysgeso/marubatsu/blob/master/079/util.py

## ルールベースの AI の一覧

ルールベースの AI の一覧については、下記の記事を参照して下さい。

https://qiita.com/ysgeso/items/10d1d01192c014173e4b

# 強調について

__太字の強調__(←この表記のことです)の多

元記事を表示

【AWS】エラー「failed to create Cloudwatch log stream: ResourceNotFoundException: The specified log group does not exist」

# 概要
AWSでデプロイ時、ECSタスクで以下のエラーが出ました。
こちらについて解決できたので紹介します。

> CannotStartContainerError: Error response from daemon: failed to initialize logging driver: failed to create Cloudwatch log stream: ResourceNotFoundException: The specified log group does not exist.

## 前提
以下のようにpython側で実装。
`log-sample-group`ロググループの中に手動で`sample-stream`ログストリームを作成、デプロイをしました。

“`py
“handlers”: {
“watchtower”: {
“level”: “DEBUG”,
“class”: “watchtower.CloudWatchLogHandler”,
“boto3_session”: autor

元記事を表示

3D MNISTで3DCNN練習

# はじめに
3Dの情報を使って機械学習をしていきたいので、とりあえず3DMNISTを使って練習してみました。
Kaggleのノートブックでの実装になります。ローカルでの動作は確認していません。

# 実装
こちらの実装を参考にしました。
https://www.kaggle.com/code/michaelcripman/3d-mnist-basic-cnn-adorable-visualisations/comments
## データ読み込み
Kaggle上で3DMNISTのデータが公開されているので、それを使います。
https://www.kaggle.com/datasets/daavoo/3d-mnist/data

“`diff_python
with h5py.File(“../input/3d-mnist/full_dataset_vectors.h5”, “r”) as hf:
# Split the data into training/test features/targets
x_train = hf[“X_train”][:]

元記事を表示

[ArcGIS]週の活動レポート作成(arcgis API for python)

# はじめに
ArcGIS onlineの週活動のレポートの自動作成をして、デスクトップPCにダウンロードする。

## 前提条件
* M1 MAC
* Arcgis API for pythonの2.3.0.1を使用
* ユーザーは作成して、権限を付与されているものとする。

## 手順
### ユーザーログイン
“`
# arcgisのライブラリをインポートする。
from arcgis.gis import *
from arcgis.mapping import WebMap

# ArcGIS onlineのユーザーでログインする。
user_name = “username”
pass_word = “password”
my_gis = GIS(“https://www.arcgis.com”, username = user_name, password = pass_word, access = “private”)
print(str(my_gis.properties.user.username) + “としてログインしました。”)
“`
### dateti

元記事を表示

[Anaconda版]arcGIS API for pythonのインストール方法

# はじめに
arcGIS API for pythonのライブラリをインストールしたAnaconda環境がしばしば新たなライブラリのインストールで壊れるので、再現のために記録する。

## 前提条件
* M1 MAC
* Anaconda3のインストールは済み(参考:https://qiita.com/aki-743/items/9a800a957c3f0d9b90df)

## 手順
### 環境作成
1. Anaconda-navigatorからAnacondaを起動する。
2. Environments(画面左側)>Create(真ん中下段)を開く。
Name:arcgis_py_3_10_14
pythonのversionを3.10.14を選択する。 (以前どこかでpython 3.11では不具合が起こると読んだため、今回は3.10を選択する。)
createボタンを押すと、環境が作成が始まるので、完了するまで待つ。
3. 環境が作成されたら、画面中央の環境のリストで先ほど作成した環境を選択する。
4. 緑の再生ボタンをクリックして、`Open Terminal`を選択

元記事を表示

pythonのpifuhdを使って写真から3Dモデルを作成しUnityで確認(windowsのanaconda)

# 環境
windows 11
anaconda 23.7.4
Python 3.12.3
numpy 1.26.4

# ツリー構造
├─apps
├─checkpoints 今回のモデルファイルを配置
├─data
├─lib
├─sample_images
├───test.png 3Dにしたい写真の画像を配置
└─scripts

# git cloneして、pifuhdをアクティブにする

“`
git clone https://github.com/facebookresearch/pifuhd.git
cd pifuhd
conda create -n pifuhd
conda activate pifuhd
“`

# 必要なモジュールをインストール
“`
pip install -r requirements.txt
pip install matplotlib
pip install -U numpy
“`

# モデルをダウンロードして、checkpointsのフォルダーを作成し保存
リンクをクリックするとダウンロードがはじまります
https://

元記事を表示

pandas[DataFrame]備忘録

随時更新
## DataFrame作成

#### データのみ指定
“`.py
print(pd.DataFrame(data=[[1, 2, 3], [2, 3, 4]]))
# 0 1 2
# 0 1 2 3
# 1 2 3 4
“`
#### 列名を指定
“`.py
df = pd.DataFrame(data=[[1, 2, 3], [2, 3, 4]], columns=[“a”, “b”, “c”])
print(df)
# a b c
# 0 1 2 3
# 1 2 3 4

# dictでも良い
pd.DataFrame({“a”: [1, 2], “b”: [2, 3], “c”: [3, 4]})
“`
#### タイプはデータによって自動に設定される
“`.py
print(df.dtypes)
# a int64
# b int64
# c int64
“`
#### データタイプを指定する場合
ただし、列毎にタイプを指定することはでき

元記事を表示

空耳歌詞の自動生成(〇〇で歌ってみたシリーズ)その1

# 概要
「〇〇で歌ってみたシリーズ」の歌詞を自動生成するWebサイトを趣味で開発しています。
https://soramimic.com/

上記サイトのために開発した空耳歌詞自動生成プログラムの解説をしていきます。
シリーズものになる予定です。

今回は、とりあえず非常にシンプルな仕組みでなんとなく動くものを作ります。

# 背景
「〇〇で歌ってみたシリーズ」は歌詞を、特定ジャンルの単語だけでなるべく発音が近くなるように変換して、歌われた替え歌です。「野球選手名で歌ってみた」「駅名で歌ってみた」など様々なジャンルがあります。

例えば、童謡「ふるさと」を野球選手の名前で替え歌すると以下のようになります。

“`
宇佐美 大井 鹿野 陽 マン
うさぎ追いしかの山

小塚 辻功 河
こぶな釣りしかの川

シューメーカー 岩郷 出口 陳
夢は今もめぐりて

夏目隆司 古田 荘
わすれがたきふるさと
“`

替え歌歌詞は人名が並んでいるだけですがなんとなくふるさとの歌詞っぽく聞こえるのではないでしょうか。
このような歌詞をプログラムで自動生成する方法を考えていきま

元記事を表示

Python2日目





今日もPythonを触ってみる。

環境はMacBookAir. OS Monterey. Ver.12.7.4
VScodeを使用。
VScode上で記述したコードをターミナルで実行する。

フォーマットを指定する%

前回はf””を使ったフォーマット作成を記述したが、% を使う方法もある。
下記はPythonのコードと実行結果。

“`Python:qiita.rb
errmsg = “Can’t open file”
errcode = 19042
msg = “ERROR: %s (%d)” % (errmsg,errcode)
print(msg)
# 実行結果 -> ERROR: Can’t open file (19042)
“`

errmsgはErrorMessageの略。
%s は文字列、%d は整数。
() 内は , を使用して複数の引数を記述できる。

元記事を表示

OTHERカテゴリの最新記事