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

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

環境の数学

“`
# Conversion functions
def percent_to_ppm(percent):
“””
Convert percentage to parts per million (ppm).

Args:
percent (float): The percentage value to convert.

Returns:
float: The equivalent ppm value.
“””
return percent * 10000

def ppm_to_percent(ppm):
“””
Convert parts per million (ppm) to percentage.

Args:
ppm (float): The ppm value to convert.

Returns:
float: The equivalent percentage value.
“””
return p

元記事を表示

Python+FlaskでOpenAIのAPIを使用したWebアプリ構築

本記事では,PythonのFlaskフレームワークを使用して,簡単にWebアプリを作成する過程を記します.
以下のようなflowで,APIを用いた画像生成と,その画像を用いてじゃんけんゲームをするWebアプリ構築を最終目標とします.

1. プロンプトを入力する
2. OpenAI(DALL-E-3)のAPIを使用して画像生成する
3. 生成画像を使用してじゃんけんゲーム

今回はAPI Keyを環境変数として使用するため,安全のためフロントエンドとバックエンドを構築します.

## 目次
1. [Flaskとは](#Flaskとは)
2. [環境](#環境)
3. [Flaskのインストール](#Flaskのインストール)
4. [Flaskを動かしてみる](#Flaskを動かしてみる)

## Flaskとは
[Flask(フラスコ)](https://flask.palletsprojects.com/en/3.0.x/)とは,PythonのWebアプリ構築のためのフレームワークで,小〜中規模のアプリ構築に適しており,簡単にアプリ構築が可能です.
PythonによるWebアプリ構

元記事を表示

PythonでWordをTXTに、またはTXTをWordに変換する

Word文書(.docまたは.docx)とテキストファイル(.txt)は、よく使われる2つのファイル形式です。Word文書は複雑な文書処理やレイアウトによく使われ、TXTファイルはプレーンテキスト情報の保存や送信に使われます。この2つの形式の変換方法を理解することで、作業効率を向上させ、ファイル管理を容易にすることができます。
今回は、Word形式とTXT形式の変換をPythonで実装する方法を紹介します。
* [PythonでWord(Doc/Docx)をTXTに変換する](#pythonでworddocdocxをtxtに変換する)
* [PythonでTXTをWord(Doc/Docx)に変換する](#pythonでtxtをworddocdocxに変換する)

## Python Word変換ライブラリ
[**Spire.Doc for Python**](https://www.e-iceblue.com/Introduce/doc-for-python.html)は、様々なWord文書変換・操作機能をサポートするプロフェッショナルなライブラリです。pip経由で直接インストールで

元記事を表示

プログラミング言語を車に例えてみた

# はじめに

普段は記述的な記事ばかり書くのですが、今回はちょっと面白みのある記事を書いてみたいなと思い

「そーだ!プログラミング言語を僕の好きな車に例えてみよう!」

とさっき思いついてこの記事を投稿しました。笑

僕もそこまで車に詳しくないのですが、あまり車に詳しくない方達にも伝わるように例えていこうと思います。

※100%偏見と独断で例えているのでその辺はご了承ください。

# それではさっそく

## Python

![スクリーンショット 2024-08-15 14.53.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3829908/f8c9d57d-3256-ced8-5738-1ee3e593989a.png)

**ランボルギーニ**

これはあくまで私の偏見なのですが

Q. 「何のプログラミング言語が好きですか?」

A. 「Pythonです!」

と答える雰囲気と

Q. 「何の車が好きですか?」

A. 「ランボルギーニです!」

と答える雰囲気が似ているなと思ったか

元記事を表示

Pythonに挑戦#2

お久しぶりです。Crane&I長谷川です。
今回の記事は前回に続く、Pythonに挑戦している記事となります。

前回はPythonの開発環境やインストール方法など環境周りの内容でした。
今回はいよいよPythonのコードの話に移っていきます。

今回Pythonに挑戦するきっかけをおさらいすると、私が働いている職場にてPythonで効率化・自動化してほしいという要望があった為となります。

現在自動化に勤しんでいるのですがその中で知ったことなどを書いていこうかなと思っています。

# 効率化したい内容
私の仕事ではoutlookで他の会社から連絡や依頼を受けることが多く、メールから必要な情報を引っ張ってきてエクセルなどで管理をしております。
メールの件数がすくなければいいのですが、想像以上に来るので時間がものすごくかかってしまいがちです。
※キーボードとマウスを酷使するので、腱鞘炎と指の関節が痛くなります。。。笑

ということで、Pythonで以下の内容を自動化してみました。
* Outlookから条件に当てはまったメールの情報を取得
* 取得した情報をエクセルに1行ずつ書き出す
*

元記事を表示

インピーダンスマッチ

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

# Constants
beta = 2 * np.pi / 0.3 # Assuming a wavelength λ = 0.3 for demonstration
z_values = np.linspace(0, 0.3, 500) # Position along the transmission line
ZL = 50 + 30j # Load impedance (example values)
ZS = 75 # Source impedance (example value)
Gamma_0 = 0.2 + 0.6j # Initial reflection coefficient (example value)

# Calculating input impedance Z_in(z) and reflection coefficient Gamma(z)
Z_in = ZS * (ZL + 1j * ZS * np.tan(beta * z

元記事を表示

Udemy で Python 入門してみた その1

## 前置き

業務ではローコード開発、SharePointだったり PowerAppsだったりが主だって、
プログラミングの勉強が疎かになっている最近。
PowerAppsではCRUDを自分で実装したりはしてるものの、それとこれは話が別なわけで。
ひとまずずっと気になっていたPythonを一から勉強していきます。

## 目的

とりあえずは学習したことを備忘録的にメモしておこうと思い、久しぶりにQiitaで記事を投稿しようと。
ただこの入門コース、プログラミング未経験者も対象にしていて、ちょっとイントロダクションが冗長に感じてしまったり。
まぁ、それはそれ。どんどん学習を進めていきたいと思います。

## IDE
PyCharm を使って勉強を進めます

## 勉強になったところ
・データ型は型推論、動的型付け

・インデントでエラーになる(姿勢矯正みたいな印象を受けた)

・定数の宣言に関する修飾子はなく、全て大文字で表現する

“`Python
TAX_RATE = 0.1
“`

・`input`の戻り値は `str`型

・エスケープシーケンス`\`や改行の`\n`のほ

元記事を表示

[Python]OpenCV 別スレッドでWebカメラの映像を表示する

### 目的

メイン処理とWebカメラ映像表示処理を分けられないかと思った。
また、任意のタイミングで録画の開始/停止を行いたかった。

### 環境
・Ubuntu 22.04
・Python 3.10.12
・Webカメラ Logicool C270

### ポイント
・threading
 カメラ映像取得ループ処理をスレッドにしている
・RecStart,RecStop
 変数recordingのTrue/Falseが録画開始/停止のトリガーになる
・Lock 
 VideoWriter.release()の後にVideoWriter.write()が起きないようにする。
 Lockすることで処理の順番が write() => release() になる。

### ソースコード
“`main.py
#!/usr/bin/python3
import time
import Camera as cm

if __name__ == “__main__”:
cam = cm.Camera()
while True:
time.sleep(10)

元記事を表示

重複する箇所を重ねて文字列を結合する(python3)

## 記事を書いた動機
自身のpythonのプログラム練習としてpaizaの問題を解いていた。
その中でも、paizaのサービスの一つである「エンジニアが死滅シタ世界 アンドロイドとふたりぼっちで生きろ」で詰まった問題があり、解決に手間取った。なかなか気づきにくく同じ問題に直面している人がいるかもしれないため、その時の実装の流れと詰まった原因を書き残す。

## 問題の内容
n個の文字列が提示され、それらを順に結合した文字列を出力する問題。
ただし新たに結合する文字列の最初と前の文字列の最後で重複する箇所があれば、重なった部分を省略して結合を行う。

以下の入力例では、「kyuri」最後の文字「ri」が「ringo」の最初の二文字と同じため、「ri」を除いた「ngo」を結合する。

“`python:入力例
3
kyuri
ringo
sakura

#出力結果
kyuringosakura
“`

## 処理方法
まず、実装にあたり以下の手順で行った。

1\. 空の出力結果文字列resultを宣言(単語を順次結合していく)

2\. 入力文字列をwordに代入

3\. re

元記事を表示

Raspberry Pi → AWS IoT Core 経由でDynamoDBへ保存する

## はじめに
前回の記事([Raspberry Pi + DS18B20で水温測定](https://qiita.com/syo_engineer/items/bb306a0455835b320d68))でRaspberry PiとDS18B20温度センサーを使用して水温の取得ができたので、今回は取得したデータをAWS IoT Core経由でDynamoDBに保存するところまでやってみる。

## 開発環境
– Python 3.11.2
– Raspberry Pi OS (64-bit)
– AWS IoT Core
– Amazon DynamoDB

## システム構成
水温計DS18B20から温度を取得し、Raspberry PiとIoT Coreを接続、Raspberry Piから送信されたデバイスデータをIoT CoreのルールでDynamoDBに保存する。

![IoTCore-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3774903/fc967fd7-bd0e-0dda-5

元記事を表示

【Python】MosaicAI:複数のLLMを統合する革新的インターフェイス

## はじめに

人工知能の急速な進化により、ChatGPT、Claude、Gemini、Perplexityなど、多様なAI言語モデルが登場しています。
これらの強力なツールを最大限に活用したいと考える開発者や研究者は多いですが、それぞれのAPIを個別に扱うのは煩雑で時間がかかります。

そこで登場したのが「***MosaicAI***」です。

MosaicAIは、複数の最先端AI言語モデルを統一的なインターフェースで利用できるPythonライブラリです。
この記事では、MosaicAIの詳細な使用方法、各モデルの特徴比較、実践的な活用例まで、幅広くご紹介します。

#### 関連リンク
* MosaicAI GitHub Repository
* https://github.com/syukan3/MosaicAI
* MosaicAI PyPI Package
* https://pypi.org/project/mosaicai/

## 1. MosaicAIの特徴と利点

1. **統一されたインターフェース**:複数のAI言語モデルを一貫した方法で利用

元記事を表示

次世代の高速計算。1X万倍の高速化。CPU NumPy のコードを NVIDIA GPU CuPy コードに自動変換。これで決まりだ。

![f4467e63-1d39-470a-8701-f21df769fbbc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/b98f82a1-d232-dc8e-396a-9dcf1cc346a7.png)

### ショートストーリー: 「コードの彼方」
東京の繁忙な街並みを見下ろす高層ビルの一室で、若きプログラマ、翔太が熱心に作業していた。彼のモニターには、NumPyで書かれたコードが表示されている。スクリーンに映し出される数式とデータは、彼の心の中で複雑なパズルのように組み合わさっている。

翔太は、日々の仕事に加えて、自身のプロジェクトにも取り組んでいた。それは、計算処理を高速化するためにNumPyで書かれた数値計算コードをCuPyに変換するというものだ。彼の目標は、GPUの力を借りて計算を爆速で処理することだった。夜も更け、東京の街はネオンの光に包まれていたが、翔太はキーボードに向かい続けた。

「ループを含むコードが多いなぁ…。これをCuPyでどのように変換し、最適化

元記事を表示

次世代の高速計算。並列化可能な部分を自動で見つけ出すプログラム。

![35e7825b-2b53-4193-9942-3c27aa0653d2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/0803dd2d-e502-4b1a-6afa-5a4f31bec7ba.png)

#### タイトル: 「並列計算の彼方へ」
東京のとあるオフィスビルの一室。薄暗い部屋の中で、パソコンの画面だけが青白い光を放ち、部屋を照らしていた。主人公の大輔(だいすけ)は、黙々とキーボードを叩き続けていた。彼はプログラマであり、特にGPUを使った並列計算の技術に心血を注いでいた。

「ポーランド記法と括弧…そして並列化可能な部分を自動で見つけ出すプログラムか…」

大輔は自分が取り組んでいるコードを見つめながら、これが次世代の高速計算を可能にする鍵だと確信していた。だが、それは決して簡単な道のりではなかった。

回想
大輔がプログラミングの道に進んだのは大学時代だった。当時、計算速度の限界に挑む研究に魅了されていた。彼の情熱は周囲の友人や教授たちにも知られており、卒業後は

元記事を表示

pythonでgnuradio その11

# 概要
pythonでgnuradioやってみた。
windows10に開発環境構築してみた。

# 環境
windows10

# 手順

– radioconda-2024.05.29-Windows-x86_64.exeをダウンロード

– 実行する。

– radioconda Promptを開く

“`
>mkdir python

>cd python
“`

– test1.pyを書く

“`
#!/usr/bin/env Python3
from gnuradio import gr
from gnuradio import audio
from gnuradio import analog

class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
sample_rate = 32000
ampl = 0.1
src0 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 350,

元記事を表示

Ollama で llama-translate-gguf を動かす

Ollama で、翻訳に特化したモデルの Modelfile を書いて動かします。

https://huggingface.co/dahara1/llama-translate-gguf

# Modelfile

README に記載されている client script example には、システムプロンプトなどが以下のように定義されています。

“`py:抜粋
def translation(instruction, input_text):
system = “””<|start_header_id|>system<|end_header_id|>\nYou are a highly skilled professional translator. You are a native speaker of English, Japanese, French and Mandarin. Translate the given text accurately, taking into account the context and specific instructi

元記事を表示

偏微分方程式

“`
import sympy as sp

# シンボルの定義
x, y, u = sp.symbols(‘x y u’)
p = sp.Derivative(u, x)
q = sp.Derivative(u, y)

# 例としてラグランジュの方程式を設定
F = sp.Function(‘F’)(x, y, u, p, q)
F_eq = sp.Eq(F, 0)

# 完全微分方程式の例
M, N = sp.symbols(‘M N’)
M = sp.Function(‘M’)(x, y)
N = sp.Function(‘N’)(x, y)
dx = sp.Symbol(‘dx’)
dy = sp.Symbol(‘dy’)

# 完全微分方程式を解く
eq = M*dx + N*dy
is_complete = sp.diff(M, y) == sp.diff(N, x)

if is_complete:
print(“完全微分方程式です。”)
else:
print(“完全微分方程式ではありません。”)

# シャルピーの解法に関するサンプル
# 非線形1

元記事を表示

Windows で Python embeddable のインストールディレクトリを力業で移動させる

## Python embeddable のセットアップ
https://qiita.com/ebifuryai/items/d4df1fcb9bc9b90b3535

## はじめに
諸々の事情があって、Python embeddable でも pip を使用できるようにインストールしている方がいらっしゃると思います。ただこれは問題があって、折角 pip が使えるのにディレクトリを移動させるとうまく動かないことがあるので、無理やり移動先でも動かそうという試みです。

## 原因
もともとのインストールディレクトリが D:\Work\debug\python だったとして、D:\Work\debug\python2 にリネームした場合、Scripts 以下のファイルに絶対パスが仕込まれていて、参照先が見つけられないのが原因です。

““
D:\Work\debug\python2>pip
Fatal error in launcher: Unable to create process using ‘”D:\Work\debug\python\python.exe” “D:\Wo

元記事を表示

高校数学と機械学習

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

# Assign values to A and B
A = 10
B = 24

# Define the range of x values
x_values = np.linspace(-10, 20, 400)

# Compute corresponding y values for each equation
# From equation 1: y = A – x
y1 = A – x_values

# From equation 2: y = (B – 2x) / 4
y2 = (B – 2 * x_values) / 4

# Plot both lines
plt.plot(x_values, y1, label=f’x + y = {A}’)
plt.plot(x_values, y2, label=f’2x + 4y = {B}’)

# Solve for the intersection point
# Coefficient matrix
co

元記事を表示

AWS Lambda(Python)のテストにpytestとMotoを使用する

## はじめに
AWS Lambdaで構築したシステムってどうやってテストしていますか?私は最近までずっと、AWSのコンソールを使ってテストしていました。ある日、pytestとMotoの存在を知り、テストで試してみたら今までと全く違った世界が見えました。この発見を共有できればと思い、少し紹介させていただきます。

## AWS Lambdaとは
サーバーレス(サーバーを導入したり、プログラム実行環境をセットアップしたりが全く不要です!)でアプリケーションを構築できるAWSのマネージドサービスです。「マネージド」とはAWSで管理されている状態を示し、利用者は環境管理の負担がとても小さく、アプリケーションロジック(コーディング)に集中できるというものです。また、コンピュータリソースを使った分だけ課金のタイプであるため、コストパフォーマンスが非常に良いです。

言語は、PythonやNode.js、Java、.NET、Rubyなどに対応しています。短い時間の処理に適しており、1回の実行時間は最大15分間という制約があります。長い処理に対しては、Step FunctionsやECS、AWS B

元記事を表示

PandasからPolarsに移行するときに注意したいこと

# はじめに
いよいよ,遂にデータ分析にPolarsを導入しました.(遅い…)
以前より「速い」「Pandasライクな記法」ということを耳にしてはいましたが,就職活動や学業で時間が取れずに,中々導入を躊躇っていました.

そんな折に,サマーインターンシップに参加させていただく機会を得ることができ,その中で大規模なデータを扱うことになったのですが,Pandasでは中々処理が終わらない……
普段であればアルゴリズムを工夫して計算量を減らすところですが,気まぐれで前々から気になっていたPolarsを導入してみることにしました.

そんなPandasを普段利用する人がPolarsを初めて利用するという事例の1つとして,目を通していただければ幸いです.
困った箇所・詰まった箇所に焦点を当てて,簡単なチュートリアルを記事にしてみたいと思います.

:::note
ちなみに,参加させて頂いたインターンシップはBIPROGY株式会社様のAI Engineer / Data Scientist向けのもので,これに関連する記事はこちらにもあるので,気に入った方は目を通してみてもらえると幸いで

元記事を表示

OTHERカテゴリの最新記事