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

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

2次関数の応用問題「20年 中央大 経済 2」をsympyと作図をやってみたい。

・Piecewise関数で
Represents an expression, condition pair.
https://docs.sympy.org/latest/modules/functions/elementary.html#piecewise

# オリジナル 
数学入試問題 様

20年 中央大 経済 2

大学入試数学問題集成 様> 未登録]

# sympyで(オリジナル 様を参考に)
・Piecewise関数で
・ver0.2
“`python
# ver0.2
from sympy import *
x=symbols(‘x’,real=True)
var(‘SR,BS,BC,RC,PB’,real=True)
rep={SR:x,BS:x/tan(60*pi/180),RC:x/tan(60*pi/180),BC:1}
sol=solve(Eq(BC,BS+SR+RC).subs(rep),x)[0]
y1=x**2
rep={PB:1-x}
y2=(x

元記事を表示

日本国民全員が偏差値60以上を取れる理想社会をChatGPTと一緒に考えてみた。

### **user**:

$N$ 人の学生が、100点満点の試験を受験したとします。各人の得点を $S_i$ とした場合に、その偏差値を計算するPythonコードを書いてください。

### **assistant**:

偏差値を計算するには、以下のステップを踏む必要があります。

1. 各学生の得点の平均値を計算する。
2. 各学生の得点から平均値を引き、各学生の得点の偏差を計算する。
3. 計算した偏差の平方の平均(分散)を計算する。
4. 分散の平方根(標準偏差)を計算する。
5. 標準偏差を用いて各学生の偏差値を計算する。

以下にそのPythonコードを示します。

“`python
import numpy as np

def calculate_deviation_scores(scores):
average_score = np.average(scores) # 平均値を計算
standard_deviation = np.std(scores) # 標準偏差を計算
deviation_scores = [] #

元記事を表示

DataSpiderでPythonのスクリプトを実行してみた

# はじめに
こんにちは。すぎもんです。😀
DataSpider ServistaからPythonで作成されたプログラムの起動をやってみました。

例えばAWSの画像認識サービスである「Amazon Rekognition」と連携する際に用いるAWS コマンドラインインターフェイス (AWS CLI) コマンドの起動は、DataSpiderでPythonのスクリプトを起動することが解決手段の一つとなります。

:::note info
DataspiderとAmazon Rekognition連携のユースケース
顔写真を生体認証情報としてDataspider経由でAmazon Rekognitionへ登録し、施設入退館時に監視カメラの顔画像と照合し本人確認する。
:::

:::note warn
その他Pytonスクリプトの実行により解決可能な処理の代表的なものは下記になります。
* 指定した桁数でのランダムの文字列生成
* SHA256等ハッシュ値を用いてのファイル暗号化
:::

本記事ではDataSpiderからPythonスクリプトを起動する方法を紹介します。

# 今回や

元記事を表示

Excelの差分情報をSkypeにチャットするツールを書いてみた

営業部員が都度更新しているExcelファイルがあります。
前回との差分を取得し、その変化を、**Skype**(TeamsもSlackも使っていないので…)の幹部グループにチャットするツールをPythonで書いてみました。

このプログラムはサーバ側で定期実行しています。

“`python
“””
データ分析
新しいコードが採番されたら last.csv を削除すること
“””
def data_analysis():
download_file = os.path.join(MyClass.download_path, ‘営業部が入力している.xlsx’)
while not os.path.isfile(download_file):
time.sleep(3)

if True:
wb = op.load_workbook(download_file)
wb.save(os.path.join(MyClass.download_path, ‘_営業部が入力している.xlsx’))
down

元記事を表示

Pythonでタイタニック号沈没事故の生存予測に挑戦-決定木-1

①ライブラリをインポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3678927/8e4adcb7-a61c-9344-b967-2cf1731c457a.png)
②データを読み込む
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3678927/1f35ccf2-a063-ab6f-b827-079e6cdd16c1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3678927/7c53803f-909b-2755-8f26-c7618db06352.png)
③前処理(train)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3678927/547fe390-c593-5

元記事を表示

Pythonで合成関数を実装する

## 動機
コードを書いているとよく
“`python
list(filter(map(…)))
“`
みたいな関数が連続したものに出会います。
大抵コードは左上から読んでいくので, こうしたものもlist->filter->mapの順で読みたくなりますが, 実際は逆なので混乱しやすいです。
“`bash
cut hoge.tsv | uniq | sort
“`
こんな感じでシェルスクリプトのように書けたら見やすいかなと思ったりします。
## 実装
“`python
class CompositableFunction:
def __init__(self, function):
self.function = function

def __call__(self, *args, **kwargs): # ()を後ろにつけたときに呼ばれる.
return self.function(*args, **kwargs)

def __or__(self, other): # |演算子

元記事を表示

ファクトリ、Blueprintなど

### ファクトリなるものをつかってflaskアプリの生成、初期化を行う

“`python
from flask import Flask

def create_app(test_config=None):

app = Flask(__name__, instance_relative_config=True)
app.config.from_mapping(
SECRET_KEY=’dev’,
DATABASE=os.path.join(app.instance_path, ‘データベースファイル名’),
)

“`

###### なぜか
– 開発環境と本番環境で異なるデータベース設定を使用したいと考えています。
– 機密性の高いSECRET_KEYやデータベースのURLは公開したくない(公開されるべきではありません。)

したがって、
– 開発環境: ローカルマシン上で動作し、SQLiteデータベースdev.sqliteを使用
– 本番環境: サーバー上で動作し、PostgreSQLデータベースを使用

という使

元記事を表示

pynputでキーロガーを作ってみた

https://github.com/KajizukaTaichi/key-logger

## はじめに

この記事では、Pythonのライブラリであるpynputを使用してキーロガーを作成する方法について説明します。キーロガーは、キーボードの入力を監視し、記録するプログラムです。

## なぜキーロガーを作ろうとしたのか

私が通っている電気通信大学プログラミング教室にてセキュリティの話があったのでキーロガーを作ってみることになりました。

## コードの解説

“`python
from pynput import keyboard
import logging

logging.basicConfig(level=logging.INFO, format=’%(asctime)s – %(levelname)s – %(message)s’)
file_handler = logging.FileHandler(‘key.log’)
file_handler.setLevel(logging.INFO)

file_handler.setFormatter(logging.

元記事を表示

python script to set up a local server including put method

“`python
# Import the http.server module
import http.server

# Define a custom handler class that inherits from SimpleHTTPRequestHandler
class CustomHandler(http.server.SimpleHTTPRequestHandler):

# Override the do_PUT method
def do_PUT(self):
# Get the request path
path = self.path
# Get the request body length
length = int(self.headers[‘Content-Length’])
# Read the request body
body = self.rfile.read(length)
# Write the request b

元記事を表示

世界を知ったYOLO YOLOWorld! 【Text2Detction 】

# テキストで指定すればオブジェクトを検出してくれる
物体検出の手間を大幅に省いてくれる。
今まではデータを集めて学習させる必要があった。
これが丸々いらない。
**YoloWorldは、テキストがなにを指すか知っている。**

“`
person, guiter, drums, flower, beer, shoes, wall, shorts, denim
“`

![bands (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/cf174d68-eb1c-6842-8888-9b2f80495b99.jpeg)

しかもT4GPUで0.1秒と高速実行。

# 使い方

### インストール

Colabで使えるようにしたインストール方法

“`shell
git clone –recursive https://github.com/AILab-CVC/YOLO-World.git
cd YOLO-World
pip install torch==2.0.0 torchv

元記事を表示

PaizaスキルチェックDランク頻出文法 Python3編

# PythonでPaizaスキルチェックを260問解いてミスをした文法や調べた文法をまとめます。
## 苦手だった標準出力について取り上げます。
### 区切り文字を変える(sep)
“`python: sep.py
a = 3
b = 5
c = [a, b]
print(*c, sep =’/’)
“`

“`output: sep.py
3 / 5
“`
sepパラメーターを用いると、上記のようにリストの中身をシングルクオテーション”で指定した区切り文字によって区切ることができます。
ちなみにcのまえについている*(アスタリスク)にはリストの1つ1つの要素を取り出す(**アンパック**)するという意味があります。
“`python: list.py
li = [1, 2, 3]
print(li)
“`
“`output: list.py
[1, 2, 3]
“`
ところが、アスタリスクを用いると下記のようになります。
“`python: list*.py
li = [1, 2, 3]
print(*li)
“`
“`output: list*.py
1

元記事を表示

決定木ベースの機械学習手法におけるSHAPとfeature importanceの違い

# はじめに
閲覧ありがとうございます。今回は決定木ベースの機械学習手法で用いることのできる、結果を解釈する指標となるSHAPと呼ばれる値の算出方法とその結果の解釈方法を共有できればと考えています。
最後までお付き合い頂けますと嬉しいです!

# 決定木ベースの機械学習手法
まずはそもそも「決定木ベースの機械学習」とは何か?について説明します。
決定木は以下の図で示すような手法です。
“`plantuml
@startuml

center header 図1 決定木モデルの例
title
@enduml
“`

訓練データをある特徴量の値の大小で分割し、ラベリングを行う方法

元記事を表示

ラズパイ5 2023年10月更新 bookworm ⑤ 4桁7segment LED

 ラズパイ4を用いた<[ラズパイ 2023年10月更新 bookworm 連載記事](https://www.denshi.club/parts/2024/01/202310-bookworm-5-ble.html)>をラズパイ5で再検証した記事です。

 AdafruitのStemma QT/Qwiicボードの中に、I2Cバス接続の4桁7セグメントLED表示器があります。コントローラはHT16K33です。[白色をスイッチサイエンスから入手](https://www.switch-science.com/products/8586?variant=42464298172614)しました。Adafruitには、白色以外の色も用意されています。Stemma QT/Qwiicコネクタがついていないモデルは、アマゾンでも入手できます。

   [4桁の7セグメントLED表示器 i2c HT16K33](https://www.amazon.co.jp/s?k=4%E6%A1%81%E3%81%AE7%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88LE

元記事を表示

Telegram仮想通貨売買botの作り方

# 趣旨
Telegramを利用して複雑な取引を行うための基本フレームができたので共有したら面白そうだなと思って共有します。

:::note alert
ライブラリの詳細、.envの設定、OSの設定、asyncの説明、exchangeInstanceの設定及び取引所ごとのメソッド調整、テレグラムBotのトークン発行方法など説明しようとすると無限に説明しないといけないことがありそうなので全て割愛します。興味のある方はぜひご自分でご設定ください。
:::

“`python: telegram_bot.py
import ccxt
import os
from dotenv import dotenv_values
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes

current_directory = os.path.dirname(os.path.realpath(__file__))
env_path = os.path.join(cur

元記事を表示

backwardのエラー

# backwardでエラーが発生
GANについてこの参考書をもとに勉強していたところ、エラーが発生。
解決に2日かかったので、記録として残します。
結論は、初心者にとって勝手な変更は厳禁ですね。

参考書
GANディープラーニング実装ハンドブック

# エラー内容
GANの学習中にbackwardで逆伝播させるときにエラーが発生
“`
例外が発生しました: RuntimeError
one of the variables needed for gradient computation has been modified

元記事を表示

ChatGPTを使いながらRPGゲームを作成する(その7) バトル画面改良

### 目標

本日のゴール画面

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/576081/724f7f3f-a658-7f9d-f3f7-987f0f610ce8.png)

### やることを整理
* 戦闘画面背景をつける
* 物理攻撃でメッセージが更新されること
* 魔法攻撃でモンスターが消滅できること(倒した場合を想定)

### 重要ポイント
* 背景をつける場合は、背景画像と戦闘用ボタン、モンスター画像と重ねるため
“`YML
RelativeLayout:
Image:
source: “./background_image/pipo-battlebg002.jpg”
allow_stretch: True
keep_ratio: False
size: self.size
pos: self.pos
“`
* モンスターを倒した場合

![image.png](https://

元記事を表示

Pythonでスピードテスト作ってみた

こんにちはKです。

今回はいつもスピードテストのサイトに行って回線チェックを行うのですがPythonでチェックできないかなと思い調べると簡単に見つかったので紹介します。

>pip speedtest-cli

import speedtest

st = speedtest.Speedtest()
st.get_best_server()

# 速度測定を実行
download_speed = st.download() / 1024 / 1024 # Mbpsに変換
upload_speed = st.upload() / 1024 / 1024 # Mbpsに変換
ping = st.results.ping

print(“[測定結果]”)
print(f”download_speed: {download_speed}Mbps”)
print(f”upload_speed: {upload_speed}Mbps”)
print(f”ping: {ping}

元記事を表示

PythonでRPAツール作ってみた

初めましてエンジニアになりたてのkです。

PCで仕事をするとマルチ画面があるのにかなりぐちゃぐちゃになります。
当たり前のように今はPC周りのフリーソフトが溢れてますが会社事情でインストールが禁止されています、、、

そこで業務効率化ツールを作ってしまおうと思いました。

元記事を表示

文系大学生がプログラミング未経験から5ヶ月で入緑した話【AtCoder】

# はじめに
先日のABCで入緑しました!!(2023/10/14)
image.png

ヒューリスティックも緑になりました🟩(2023/10/22)
IMG_9715.png

これから競プロを始めようとしている人や緑を目指している人のためになればと思って書きました。
拙い文章ですが読んでいただけると幸いです。

# 自己紹介
* 文系学部 B1
* 競プロを始めたのはB1の5月(それまではプログラミングほぼ未経験)
* 使用言語:P

元記事を表示

Pythonにおける多次元辞書のキーと値の同時生成方法およびキーの存在確認方法

# きっかけ
Pythonの多次元辞書に関する情報があまり見つからず,何か一発でキーと値を生成できたり,キーの存在確認できたりできないものかと考えて適当にコード書いたものです。
再帰を使っているのでメモリにあまり優しくない方法ですけど、参考になれば幸いです。
何かバグ等ありましたらお教えいただけますと大変勉強になります。

# 多次元辞書のキーと値の同時生成方法

### コードと実行例

“`py:code
def createMulDimDict(dic, keys, val):
dic.setdefault(keys[0], {})
if len(keys) == 1:
dic[keys[0]] = val
else:
createMulDimDict(dic[keys[0]], keys[1:], val)

dic = {}
createMulDimDict(dic, [‘food’, ‘meat’] , ‘beaf’)
print(dic)
# {‘food’: {‘meat’: ‘beaf’}}

元記事を表示

OTHERカテゴリの最新記事