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

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

SlackにAPI経由でファイルをアップロードする(Python)

# 背景
– SlackにAPI経由でファイルをアップロードし、ユーザーにダウンロードさせたいケースです
– 既存のincoming webhook 経由ではファイルのアップロードできないようです

https://api.slack.com/legacy/custom-integrations/messaging/webhooks#additional-limitations

> *Please note: it’s not possible to send files via webhook. The files.upload API method is the method of choice for this task.*

– Slackアプリを使ったfile uploadをpythonで実装していきます

# まずはSlack Appを作成
https://api.slack.com/start/quickstart

– こちらの手順通りに作成していきます
– ファイルのuploadをする場合は `files:write` の権限を付与することを忘れないようにしてくださ

元記事を表示

[シンプル] Window11でのPythonインストール

# Windows11でPython環境構築
自分用の記録として、PythonをWindows11でインストールする手順をまとめました。
2024/1/22現在の最新版である3.12.1をインストールしました。

### 使用したPCの情報
OS | CPU
-|-
Windows11 Home | Core i7 12世代

## ダウンロード
1. [Python公式サイト](python.org)にアクセスする。
1. Downloadsから、Download for Windowsをクリックすると”python-3.12.1-amd64.exe”がダウンロードされる

## インストール
1. ダウンロードされた”python-3.12.1-amd64.exe”を実行するとインストーラが起動する。
1. インストーラの画面で、”add python to Path”にチェックを入れ”install now”を選択するとインストールが始まる。
1. インストールされたバージョンのPythonは、ホームディレクトリの\AppData\Local\Programs\Python\

元記事を表示

Python3ではじめるシステムトレード:状態空間方程式入門

# 状態空間方程式
15:53
状態空間方程式に関する詳細な説明を行います。

ー状態空間方程式の概要ー

状態空間モデルは、動的システムを観測方程式とシステム方程式の二つの主要な部分で表現します。このモデルは、内生変数と外生変数の両方を含む複雑な時系列データを分析するのに適しています。

ー内生変数と外生変数ー

– **内生変数:** モデル内で説明される変数。例えば、経済成長率や株価指数など、モデルがその振る舞いを説明しようとする変数。
– **外生変数:** モデル外から影響を与える変数。これらはモデル内で直接予測されるわけではなく、他の要因(例えば、政策変更や自然災害など)によって決定されます。

ー時系列分析における方程式ー

時系列データが単変量の場合、一般的には一つの変数に注目しますが、多変量(ベクトル)の場合は複数の関連する時系列データを同時に考慮します。ラグを取る場合、過去の値が現在の値に影響を与えるという時間的依存性をモデルに組み込みます。

*問題点*

– **多変量データ:** 複数の時系列を扱う場合、変数間の相互依存性がモデルの複雑性を増加させる。
– *

元記事を表示

決定木のすゝめ

# はじめに
こんにちは!
僕は研究を行いながら、長期インターンでデータサイエンティストとして働く大学院生です!

学部時代から長期インターンを始め、現在4社経験してきました。
この経験から、プログラミングの学習を始めたばかりの人や、長期インターンを行う勇気が出ない人に、学習サポートやデータ分析の実績作り支援などを行わせてもらっています!

僕自身、プログラミングの習得や長期インターン探しに苦労したので、その経験をお伝えすることで、より多くの人が挫折せずデータサイエンティストになるまで成長して欲しいです!

以下でサポートを行なっているのでご興味ある方はご連絡ください!学生・社会人問わず専攻も問わずサポートいたします!

### X(Twitter)

今回は、実務や研究でもよく利用される**決定木**手法について解説します👍

# 決定木とは
決定木は、データを分類するための機械学習アルゴリズムであり、同時に回帰タスクにも用いられる柔軟なツールです。このアルゴリズムは、

元記事を表示

gptのvisionモデルを使って生成AI画像を分析して分析結果を使用してDALL·E -3で再度画像を生成してみた

## はじめに
#### 記事の目的や背景を説明
生成AIの活用方法を模索する上でOPENAIが提供しているtext-to-speech, speech-to-text,image-genration,visionなどいろいろありますが自社のなかでAIの活用方法が明確化されていないので実際に触ってみてどのようなことができるのか試してみようと思っての試みです。
#### 対象読者
OPENAIのAPIをPythonを使用して実行しますが基本的にPyhton自体には触れないのでVisionとImage-generatorのほんとに基礎の実装方法を知りたい方向けになるかと思います。

## 目次
1. OPENAIのVisionとは
2. OPENAIのImage-Generationとは
3. Visionを使用して画像の解析をしてみる
4. 解析された情報を元にプロンプトを作成して画像を再度生成してみる

## 1. OPENAIのVisionとは
VisionとはAIの目のようなものです。入力された画像データを元にどういった画像なのかを識別することができます。現在Visionを使用す

元記事を表示

3年目エンジニアがPythonで躓いたこと5選

# はじめに
エンジニアとして満2年が過ぎ、3年目に突入しました。最初の3年が肝心と考えながら、過ごしてきました。この記事ではそんな振り返りも兼ねて駆け出しPythonistが躓きやすいことを5つ紹介できればと思います。

# Pythonで躓いたこと5選

## 1.動的型付け
Pythonは動的型付け言語です。C++やJavaなどの静的型付け言語とは異なり、変数を定義する際にいちいち型を指定する必要がありません。コードの量が少なくなるなどメリットもあるんですが、型の不一致による不具合が発生した場合に調査に時間がかかってしまいます。

そんな事情を知りつつも特に工夫することもなかった僕は当時参加していた開発現場のレビューで「動的型付けだからといって型を決めないで良いわけじゃないよ」と指摘(注意)されてしまいました。

それからは型ヒントを書いていくことで静的型付けほどではないですが、ある程度(気のせいかもしれませんが)安全に実装していくことができました。

### 型ヒントを使ってみる
簡単な予約プログラムです。

“`py
from datetime import date
fr

元記事を表示

Pythonでプログラムを継続的に実行させる方法

### 概要

Python でプログラムを継続的に実行させる方法はいくつか存在します。このドキュメントでは、プロフェッショナルなコーダー向けに、それぞれの方法の詳細とコード例、応用例を紹介します。

### 選択肢

**1. 無限ループ**

* 基本的な手法ですが、効率が悪くリソース消費が激しい可能性があります。
* コード例:

“`python
import time

while True:
print(“タスクを実行します”)
time.sleep(5) # 5秒おきに実行
“`

* 応用例:
– センサーデータの定期的な収集・送信
– ウェブサイトの定期的な監視と通知
– ゲームのメインループ

**2. スケジューリングライブラリ**

* 複雑なスケジュール設定や並列実行が容易に実現できます。
* コード例 (schedule):

“`python
import schedule
import time

def my_job():
print(“タスクを実行します”)

schedule.every(1

元記事を表示

Statsmodelsによる生存時間分析

11:59

https://github.com/kshedden/survival_workshop?tab=readme-ov-file
を加筆修正する形で載せました。原文は英語なのでChatGPTに翻訳させました。コードもコメントもほぼChatGPTにお世話になりました。間違いがあると思うのでコメントいただけると幸いです。

### PythonのStatsmodelsを用いた生存時間分析

#### はじめに

生存時間分析は、主に「生存時間」、すなわち特定のイベントが発生するまでの時間を分析する統計学の一分野です。たとえば、生存時間は、人の寿命、重大な疾患が診断されてからの生存期間、疾患の診断から回復までの期間、または機械が正常に稼働する期間などになります。

生存時間データは、次のような質問に解答を与えます:集団の平均生存時間は何か?集団の生存時間の75パーセンタイルは?二つの集団を比較した場合、どちらが期待されるまたは中央値の生存時間が短いか?多くの独立変数と観測される生存時間の間のユニークな関連を特定できるか?

以下は、生存時間分析の重要な概念です。

#####

元記事を表示

AWSLambdaを使用してRDSからCSVを取得してメール送信

# 1.はじめに
はじめまして!株式会社TechoesインフラチームのYです!
今年の4月で2年目を迎える初心者のクラウドエンジニアです。
今回からTechoesの採用強化、学習内容のアウトプットを目的としてQiitaで技術ブログを書いていこうと思います。
第1回目として最近学習したAWSLambdaを使ってRDSからCSVを取得してメール送信する手順を投稿します。

# 2.前提
– 言語:Python 3.10
– ライブラリ:pymysql
※layerとしてS3に保管
– RDS:Aurora MySQL
– RDSの認証情報はSecretManagerから取得
– メール送信にはSESを使用
# 3. CFNテンプレート
Lambda関数を作成・管理するテンプレートです。

レイヤーはあらかじめS3に保管しておいたものを使用します。
“`yaml:lambda.yaml
Resources:
LambdaRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:

元記事を表示

簡単に背景除去する (Background remove)

## はじめに

このセクションでは、柴犬の画像から背景を効果的に除去する手順についてご紹介します。背景除去は、画像の主要な被写体を際立たせたり、他の背景に合成したりする際に非常に役立ちます。

## やりたいこと

こちらの写真を例に、柴犬の画像から背景を取り除く方法を説明します。このプロセスでは、Pythonを利用し、被写体を保持しつつ周囲の背景を削除します。

![shiba-inu.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/99e3c340-80d1-5d3d-2b4b-e1087e7da5f5.jpeg)
![shiba-inu-remove.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/7836a607-8431-dd94-a2fb-527d123a782b.png)

## 利用するもの

本プロジェクトでは、「rembg」という強力なライブラリーを使用します。rembgは

元記事を表示

Python.HTMLfoam受信・表示UTF-8

## Python でブラウザに日本語で表示させる。
ポイント
“`python
value0 = urllib.parse.unquote(value0)
“`
code
“`python
#!C:/Python/python -X utf8
# coding=utf-8

# This is a python header.
################## python(anconda header) ###################
#!C:/anaconda/python -X utf8
# coding=utf-8
#############################################################
# 2024/01/23
# information.
# File my_python.cgi
# address1 http://localhost/python_test/my_python.cgi
# address2 http://127.0.0.1/pyth

元記事を表示

[Python] PyAutoGUI 画像が表示されている間は待機する処理

# はじめに
PyAutoGUIで最近2段階認証時にスマホなどに送られてくるコードの入力待機をするために、ある画像が表示されている間は待機する処理が必要となったので、書いておきます。

今回以外のPyAutoGUIでの画像認識によるクリックや待機処理をする方法は以下のページにまとめています。

https://qiita.com/takafi/items/9dfac954b39a897d9c61

## 動作テスト環境
OS: Windows 10 Pro 64bit
言語: Python 3.11.5
ライブラリ:PyAutoGUI 0.9.54

# コード

“`Python:画像が表示されている間は待機する処理
def wait_while_img_is_displayed(*images, **options):
“””
PyAutoGUIの画像認識で、指定の画像が表示されている間は待機する関数

Parameters
———-
*images: str
画像ファイル名を列挙したもの
wait_li

元記事を表示

ChatGPTとPythonで学ぶ Gradio:pandas可視化編

おはこんばんちわ。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ Gradio:pandas可視化編」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

### **assistant**:

おはこんばんちわ!ご機嫌いかがでしょうか。今日はpandasの可視化とGradioについて話し合ってみましょう。

GradioはPythonのライブラリで、機械学習モデルを簡単にデモするためのツールです。pandasはPythonでデータ解析をするためのライブラリで、データ分析やデータ可視化にとても便利なツールです。

pandasで作成したデータフレームをGradioを通じて簡単にGUI化し、可視化することが可能です。例えば、何かのデータをpandasで分析し、その結果を棒グラフや箱ひげ図といった形でGUI上で表示させることができます。

それでは、具体的にどういうものを作成できるのか、またそれにはどういうコードになるのかを説明していきますね。まずは簡単な例から見てみましょう。

### **u

元記事を表示

Wernerモデルを使った砂丘の生成

# はじめに
この記事は、[Wernerモデルを使った風紋の生成](https://qiita.com/hsmtta/items/1b4c8548189c78f2d5e3) の続きです。

前回の記事では、Wernerモデルを使った風紋の生成方法を紹介しました。今回は、Wernerモデルのアルゴリズムを一部変更することで砂丘のパターンを生成します。

今回の記事で使用するコードは下記のリポジトリで公開しています。

https://github.com/hsmtta/sand_patterns

# 使い方
主要なオプションのみ示します。 `–help` オプションで詳細を確認できます。

* 広い領域をシミュレーションしたい場合にグリッドサイズを大きくしてください
* 時間発展を長く追いたい場合にイテレーション数を大きくしてください
* 砂丘生成モードを利用するには `-d` オプションをつけてください
* 環境で利用できる砂量を `-q` オプションで指定してください

“`bash
$ python simulate.py -h
usage: simulate.py [-h]

元記事を表示

Win 11 の VSCode の Python 開発環境の構築

::: note
この記事は [「Win 11 への Python のインストール」](https://qiita.com/mmake/items/5197afbe5c055f82265e) と [「Win 11 への VSCode のインストール」](https://qiita.com/mmake/items/2cf2131a0ab5bc431215) の続きの内容になります。
:::

この記事では 18 歳の新入社員向けに VSCode の Python 開発環境を構築する手順を説明します。

## 前回のおさらい

[「Win 11 への Python のインストール」](https://qiita.com/mmake/items/5197afbe5c055f82265e) では Windows に Python3 をインストールしました。
[「Win 11 への VSCode のインストール」](https://qiita.com/mmake/items/2cf2131a0ab5bc431215) では Windows に VSCode をインストールしました。

引き続き

元記事を表示

4B(bookworm)、Managerで、巨大500MBのndarrayを共有

前回に続き、ラズベリーパイ4B(8G,bookworm,x64)で、multiprocessingのManagerを使い、ndarrayを共有します。ただ今回は、500MBという巨大なndarrayを共有します。

最初に、core1で4000w x 3000h の画像ndarrayを、vconcatとhconcatで結合し、巨大ndarrayを作成します。同じcore1で、この巨大ndarrayを「Managerのlist」に書き込みます。次にcore4で、「Managerのlist」から巨大ndarrayを読み込みます。最後に、同じcore4で巨大ndarrayを縮小して表示します。以下がコードです。

動かしてみると500MBのndarrayで10秒です。50MB/sです。納得できるスピードです。それよりも、前設定の簡単なmultiprocessingのManagerを使って、ラズベリーパイ4B(8G,bookworm,x64)で、500MBの巨大なndarrayを共有できることが大きな収穫です。

“`
# manager-ndarray—bookworm-x64-500

元記事を表示

Pythonで水文水質データベースのデータを自動で取得するプログラムを作る

# 初めに

国土交通省が公開している「水文水質データベース」は、様々なデータを提供している。しかし、データのダウンロードがなんか複雑で、複数年に対するダウンロード機能はサポートしていない。

Github上にはこのような難しさの解決のため、多数のコードやプロジェクトが公開されているが、コードだけで実行するものや、積極的なGUI要素を利用したプロジェクト・プログラムはその数が未だ少ない。

以上のような現状の問題を踏まえて、PyQt5やPyInstallerなどのライブラリを利用し、水文水質データベース上のデータの簡単な取得・確認のためのプログラムの作成を始めた。

機能の追加・修正は現在進行形ではあるが、一部の機能の実装やexeファイルの実装は終わっており、実際に複数のデータにおいて有効に使えるため、そのリンクを貼っておく。

https://github.com/refiaa/WIS_Scraper

簡単な説明や利用方法に関してはこのページで確認できる。

# 水文水質データベースからのデータ取得方法

#### ・サイトの基本情報へのアクセス

水文水質データベースのリンクの構

元記事を表示

python.UTF-8エンコード成功。

検証お願いします。
query = re.sub(r’%25′,’%’,query)
query = re.sub(r’%%’,’%25%’,query)
がポイントと思えます。

“`python
#!C:/Python/python -X utf8
# coding=utf-8

# This is a python header.
################## python(anconda header) ###################
#!C:/anaconda/python -X utf8
# coding=utf-8
#############################################################
# 2024/01/23
# information.
# File my_python.cgi
# address1 http://localhost/python_test/my_python.cgi
# address2 http://127.0.0.1/python_tes

元記事を表示

Python 3 エンジニア認定基礎試験4 – その他の制御フローツール

# はじめに
Python3エンジニア認定基礎試験の対策として自分用に執筆しています。

:::note warn
この記事はPython・執筆学びたての初心者が執筆しています。間違いがあるかもしれませんので、ぜひ各項目にある**参考文献**も確認してください。また、誤りがあればコメントで教えていただけると幸いです。
:::

# その他の制御フローツール
## if
“`Python
>>> x = 1
>>> if x < 0: ... x = 0 ... print("Negative changed to zero") ... elif x == 0: ... print("Zero") ... elif x == 1: ... print("Single") ... else: ... print("More") ``` 0個以上のelifと1個以下のelseを使用できる。 ## for 反復を行う。whileとの違いはシーケンス(リストや文字列)にわたって反復を行うこと ``

元記事を表示

plotly gauge chart

“`python

import json
import pathlib
import datetime
import time

# import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

import streamlit as st
import plotly.graph_objects as go
import plotly.express as px

class GaugeChart:
def __init__(self, value):
self.value = value

if self.value <= 10: self.color = "red" elif self.value <= 30: self.color = "orange" else: self.color = "green" def create_cha

元記事を表示

OTHERカテゴリの最新記事