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

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

ChatGPT4:ノーコードでPythonデータ可視化

## Code interpreter って?

ChatGPT4のプラグインにCode interpreterがあります。

Code interpreter は、ChatGPT上でPythonコードを実行するための機能を提供するプラグインです。

このプラグインはChatGPT4のデフォルトに組み込まれていますので、特別な設定もいりませんし、Pythonが使えなくても、データを与えて「分析して」等と指示するだけでChatGPT上でデータ可視化ができたりします‼️

非Pythonユーザーでも大丈夫🙆。Pythonは可視化のバラエティが豊富なのでいいですよぉ。

まずCode Interpreterって何?をChatGPTに聞いてみました。

>Code Interpreterを使用すると、Pythonコードを実行し、さまざまな種類の分析やデータ処理を行うことができます。具体的には以下のような機能が利用できます:1. データ分析と可視化 :- データセットの読み込み、分析、処理(Pandasライブラリを使用)- データの可視化(MatplotlibやSeabornライブラリを使用して

元記事を表示

【Window・ubuntu・docker】何も考えずjupyterが使えるようにしたい時に使うコピペ集

# これは?

環境のセットアップがめんどくさい && やってと言うにも簡潔な手順がなかったため作成

## windows

実はほぼコマンドラインで実行可能

~~~
@REM 公式からインストーラーをDL
curl -o python-3.11.exe https://www.python.org/ftp/python/3.11.7/python-3.11.7-amd64.exe

@REM コマンドラインでインストーラーを実行
@REM https://docs.python.org/ja/3/using/windows.html#installing-without-ui
echo ユーザーアカウント制御が開きますので「はい」(許可)をクリック
python-3.11.exe /passive InstallAllUsers=1 PrependPath=1 Include_test=0

@REM pathの一時設定https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter
path C:\

元記事を表示

AIでアニサキス識別

# はじめに
アニサキスって怖くないですか!?

近年アニサキスという存在を耳にしてから、生魚に対して抵抗感を覚えました。
アニサキスによる食中毒の症状には激痛を伴うものあり、かなり酷いものです。
厚生労働省のホームページにも予防方法として「目視で確認」というものがありますが、目視だけでは分かりづらく個人的には、生魚に対する抵抗感は拭いきれないと思いました。

そこで、もし**AIでアニサキスを識別** できれば、この抵抗感を拭い切れるのではないかと考え、今回アニサキス識別アプリを作成しました。

さあ安心して生魚を食べましょう!!

[厚生労働省:アニサキスによる食中毒を予防しましょう](https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000042953.html)

:::note warn
「このブログはAidemy Premiumのカリキュラムの一環で、受講修了条件を満たすために公開しています。本アプリを使用し被害にあわれたとしても責任を一切負いかねます。」
:::

#

元記事を表示

pythonのasyncioで同期処理を非同期的に動かす方法

六角レンチです
作ってるプログラムで非同期処理を使おうと思ってちょっと沼に入りかけてるので気晴らしに記事を書こうと思います
# 環境
linux 6.6.9
python 3.10.13

最近ノーパソ買ってlinux入れて使ってます
windowsよりすごい軽くて感動した
# 同期的に動いちゃうプログラム
例として下のようなプログラムを書きます
“`py
import asyncio
import time
import timeit

# IOバウンド(あるいは同期的な)処理
def blocking(t):
time.sleep(t)
print(“sleeped”, t)

async def main():
print(“main start”)
# ここの部分を非同期的に並行に処理したい
# 〜〜〜〜〜〜〜〜
for i in range(3):
blocking(i)
# 〜〜〜〜〜〜〜〜
print(“main finish”)

# 時間の計測
print(timeit.timeit(“

元記事を表示

Microsoft Store版Python環境でpipインストールしたコマンドにPathを通す

# 目的
Microsoft StoreでPythonをインストールした。インストールしただけでpythonコマンドやpipコマンドにはPathが通っていたが、pipでインストールしたパッケージのコマンドにはPathが通っていないようだ。

Microsoft Store版Python環境でpipインストールしたコマンドにPathを通したい。

# 調査
python.exeやpip.exeは“`C:\Users\XXXXXXXX\AppData\Local\Microsoft\WindowsApps\“`にインストールされていた。しかしその周辺にsite-packagesやScriptsディレクトリはないようだ。さてさて?

## pip showを使ってみる
pipでインストールされたパッケージがどこにインストールされているか?
pip show -fのLocation:が使えそうだ。

“`shell-session
PS > pip show -f jupyter
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapack

元記事を表示

Pythonの一つのキーに複数の値を含む辞書型の取り出しに悩んだ

## 概要
質問フォームから入力したデータをバックエンドのPythonに送信して受け取る。
受け取ったデータはDBに格納するなど。
質問は複数あり、同様に回答も複数ある。

## 結論
辞書型の取り出しには、get(),getlist()を使う

## コード
### 1.フロントから入力したデータを送信

“`javascript
const url = ‘https://xxxxxx.xxx/regist’
const params = new FormData();

params.append(“id”, this.id);
params.append(“category”, this.category);
for(let i=0;i

元記事を表示

pythonでプログレスバーを表示【tqdm】

# はじめに
qiitaの住人のみなさま、あけましておめでとうございます!
2024年は元旦から不幸なニュースばかりですが、少しでも前を向きながら生きていきたいものです。
(私は胃腸炎で元旦から寝込むというスタートダッシュを切りました)

さて、最近は機械学習コンペにちょこちょこ参加しています。nishika様、お世話になっております(手コネコネ)。
勉強をしていく中で、pythonでプログレスバーを表示させる「tqdm」なるライブラリを見つけたので、少しご紹介します(n番煎じですがご容赦)。
ビッグデータの機械学習は長い処理が多くなるので、進捗を可視化するのに便利です。

https://www.nishika.com/

# tqdmとは
### 由来
tqdm はPythonで利用可能な便利なライブラリで、長い処理の進捗状況をプログレスバーとして表示することができます。公式サイトによると、この名前はアラビア語の「taqadum」(進行、進捗)から来ていて、スペイン語の「te quiero demasiado」(I love you so much)の略語らしいです。おっしゃれ~♪

元記事を表示

【ゴールデンカムイ】 アイヌ語を日本語に翻訳する

おはこんばんちわ。今日も引き続きChatGPT先生を講師にお迎えして、「【ゴールデンカムイ】 アイヌ語を日本語に翻訳する」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

### **assistant**:

おはようございます、またはこんばんは!アイヌ語についてのお話、承りました。それではアイヌ語のフレーズや言葉を提供していただければ、日本語に翻訳します。ただし、私の知識はあくまで一般的なもので、アイヌ語の専門家ではない点をご理解ください。それでは、何を翻訳しましょうか?

### **user**:

`「クトゥラ シサム オハウ オロ シ オマレ ワ エ」`を日本語に訳してください。

### **assistant**:

「クトゥラ シサム オハウ オロ シ オマレ ワ エ」は、アイヌの民話「コタンコロカムイ」より引用されたフレーズです。日本語に訳すと、「お天道さま、どうかお願いします、次こそは元気な男の子を下さい」という意味になります。これはアイヌの人々の子孫繁栄への願いを込めた言葉です。

元記事を表示

Fast API を一からまとめる

Fast APIアプリを構築するのに
少し手間取ってしまているので一旦まとめてみる。

# ロードマップ
1. アプリイメージ図
2. 環境構築
3. GET/POSTを受け取る最小アプリ例
4. DBとの連携
5. スキーマ(responce_model)
6. Model定義例
7. デコレーターの中のオプション
8. 関数の中のオプション

# 0.ミニマムCRUDアプリリポジトリ

https://github.com/raisack8/minimum_fastappi

# 1. アプリイメージ図

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1573902/2e8271e4-039a-2c55-fdbf-e9f201c93149.png)
イメージは簡単。
ざっとこんな感じ。

ただ、よりオブジェクト指向を考慮して、
各機能毎にフォルダ分けをすることにする。

考えている機能としては、以下
### API受付(/apis)
APIの受付部分。
ここではクエリのパラメー

元記事を表示

PatchCoreの論文の理解 (2) 

## はじめに
異常検知の論文のPatch Coreの数式を理解するためのメモです。

https://qiita.com/kotai2003/items/41debb1b5132923fdb18

PatchCore論文(2021)
Towards Total Recall in Industrial Anomaly Detection
https://arxiv.org/abs/2106.08265

## 推論過程

テスト過程における公称パッチ画像特徴メモリバンク M の使用と、異常スコアの計算方法に関する説明を以下に簡潔にまとめます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/1525aeeb-a7af-ff42-af3e-56ed4e8cf19d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/74575684-5465-62b2-b

元記事を表示

PatchCoreの論文の理解 (1) 

## はじめに
異常検知の論文のPatch Coreの数式を理解するためのメモです。

PatchCore論文(2021)
Towards Total Recall in Industrial Anomaly Detection
https://arxiv.org/abs/2106.08265

## Warming up
#### 以下の数式の意味を理解する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/8c26e8ae-5ec0-751a-b87e-98d0c076204d.png)

この数式は、数学的最適化の問題を表しています。具体的には、`M_C^*` を見つける問題で、それは集合 `M` の部分集合 `M_C` の中で、特定の最適化基準を満たすものです。この基準は、`m` と `n` の間のユークリッド距離(`||m – n||_2` と表される)に基づいています。

数式を部分ごとに分解してみましょう:

– `||m – n||_2`:ベクトル `m`

元記事を表示

richのprettyな出力をstrにしてloggingに渡す方法(達成感なし)

## TL;DR

rich()で出力されたstack traceが見やすいので、雑にdebugログをlogging.FileHandler等で吐いたときにログでも見れるようにしたい。このため、prettyなTracebackをstrで取得したい。
調べてはみたが、Traceback含めprettyな出力をstrで返してくれる関数がみあたらなかったので試行錯誤してみたがいい方法が見つからず、結局`io.StringIO`に頼ったよ。

## モチベーション

ほぼ上述の通りだが、端的にいうと、loggingのRotatingFileHandlerでファイルにdebug logをダダ流しできると不具合調査が楽だよな、と。
richはコンソールアプリでの出力をかなりきれいにしてくれる。ただ、サクッと書いたツール等を人に使ってもらうとき、「不具合が出たらこのログ送って」で済ませたく、色はつかなくていいからなんとかloggingのFileHandlerで出力できないかなと思った。

## コード

元記事を表示

Djangoでviews.pyのcontextの中身を明示的に出力してみよう

## 経緯
この記事はDjango内でのviews.pyからtemplateにデータをオブジェクトにして渡す際にどんなオブジェクトが使えるのかをどうしても明示的に確認したいという思いで書いた記事です。
基本的にはmodels.pyで定義しているClassの変数がkeyになるのはわかっているのですが、実際にviewsで使う直前で知りたかったんです。それが分かったので使い回しが聞きやすいように関数にしました。

### 条件
1. OS : Mac
1. Python : 3.7.6
1. Django : 3.2.0
1. Editor : VS Code

### できること
requestで渡ってくる変数の中身(keyとvalue)が何なのかを判定するための関数

“`python:views.py
def checkContextKeyAndValues(arg):
mold =str(type(arg))
print(f”型: {mold}”)

# models.pyで定義されているclassかどうかを判定(findメソッドを使用)
check

元記事を表示

Pythonでライブラリやクラスの使い方を知りたい。

# はじめに
importしたライブラリをいざ使う時、どういうファンクションや、メンバーがあるのか?を知る方法を調査してみた。

# 目次
+ [“`__doc__“`](#__doc__)
+ [“`__dict__“`](#__dict__)
+ [inspect (これが便利)](#inspect-これが便利)

## “`__doc__“`
importしたモジュールにdocstringが埋め込まれていれば、“`__doc__“`でモジュールのドキュメントを確認できる。例えばpandasの場合は

“`python:doc_test.py
import pandas

print(pandas.__doc__)

”’
pandas – a powerful data analysis and manipulation library for Python
=====================================================================

**pandas** is a Python package

元記事を表示

dockerを用いたjupyterlab環境構築

# はじめに
現在、docker-composeから自身の利用のために1つのJupyterLabサービスを起動して、開発環境として利用している。
# 想定読者
– JupyterLabの環境が複数必要な方

# 動作環境
– 仮想環境:WSL
– OS: Windows

# 前提条件
1. dockerのことがなんとなーくわかる。(dockerの説明は割愛します。)

# 困りごと
– JupyterLabのためのコンテナイメージへの接続ポートが競合してしまい、複数のjupyterlabを起動することが不可。

# 解決策
docker-compose.ymlに以下を追加してコンテナイメージへの接続ポート番号を変更する。
※ほかに使用していないポートにする必要があるかどうかは未確認。

environment:
– JUPYTER_PORT=8811 # ポート番号を変更する環境変数(ここでは例として8811を設定)

# 参考
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws

元記事を表示

[無料][2024年版] LINE Messaging API v3 + Python(Flask) でボットを作る [その0 – v3 での変更点]

## はじめに

つい最近、LINE の Messenger API の v3 なるものを試す機会があり([この記事](https://qiita.com/nozomiyamada/items/4ac398159cdcf2f92056))、しばらくいじっているうちにやっと使い方がわかってきたのでここにメモしておこうと思います。

わざわざこうやって記事にまとめようと思った理由は、もちろん自分用の備忘録が一番ですが、他にも

– Line は日本、タイ、台湾などでしか使われていないガラパゴスツールなので、Stack Overflow に情報がない
– Qiita の情報も、v3 以前のものが多い
– そもそもPython で開発している人も多くない
– **本家 `line-bot-sdk` の [GitHub](https://github.com/line/line-bot-sdk-python) の説明が少なすぎる**

などの理由から、せっかくなので共有しておこうと思ったからです。あくまで個人開発のレベルで、専門的なことはパッパラパーなのですが、こんな素人の私の記事でも多少は役に

元記事を表示

Kaggle環境の構築方法(GPUなし)

以前にGoogle CloudのGPUを利用してKaggle環境を構築するという記事を書きました。
→https://qiita.com/kyotoman/items/af838f7adf84f8de0f3c
ここではテーブルデータなどGPUを必要としないコンペ用の環境を作り方について、VSCodeをどう使うかといった具体的な方法に焦点を当てて記事にしたいと思います。

# 目的
・ローカル環境において、Kaggle側と同じ環境を作ることで、データ分析で必要なフレームワークやライブラリを使う時の環境差異による問題を発生しないようにする
・VSCodeを使うことでデバグを行いやすくする(ブレークポイント、シンタックスハイライト、定義元へジャンプ)

# 手段
・Dockerを使ってKaggle側と同じ環境を作る
・VSCodeの拡張機能「Dev Containers」を使う

# 具体的な手順
### ①DockerデスクトップとVSCodeをインストールする
以後の作業で、
“`
Cannot connect to the Docker daemon at unix:///var/r

元記事を表示

Python × XML ーElementTree XML APIの使い方ー

## XMLファイルの基本構造
“`



text


“`

・木構造。最上位に1つだけルート(root)があり、その下に複数の要素(element)が存在している
・また、それぞれの開始と終わりは<>となっており、下の階層の要素を挟むように位置している。

## インポート
“`
import xml.etree.ElementTree
“`

# 参考サイト
https://atmarkit.itmedia.co.jp/ait/articles/0201/16/news003.html

https://docs.python.org/ja/3/library/xml.etree.elementtree.html

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その42 手番を入れ替えた対戦

# 目次と前回の記事

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

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

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

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

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

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

## これまでに作成した AI

これまでに作成した AI の __アルゴリズム__ は以下の通りです。

| 関数名 | アルゴリズム |
|:-:|:–|
| __`ai1`__ | 左上から順に空いているマスを探し、最初に見つかったマスに着手する |
| __`ai2`__ | ランダムなマスに着手する |

# `ai_match` の改良 その 4(手番を入れ替えた対戦)

前回の記

元記事を表示

能登半島地震の建物被害分布を自動で出す方法

# はじめに
 プログラムはこちらに置いた。

https://github.com/m-kunugi/noto_earthquake

 先ほど国土地理院の航空写真について、下記の記事を書いたが、学習済みのCNNモデルを用いれば、建物被害分布も出せるはずなので、出してみた。

https://qiita.com/mkunu/items/61ec11634b9b4ebcc7a0

 ちなみに、[各県が公開した被害報等から作成した住家被害状況](https://nied-drsite.maps.arcgis.com/apps/MapSeries/index.html?appid=6b43992cc19f419a8cd5a3662f3e98a0&embed)によると、被害が大きかった能登半島の北部(珠洲市、輪島市、能登町、穴水町)に関しては、2024/01/04時点で住家被害の件数が未だ不明となっている。

# 手法と結果
 (航空写真と同じく)国土地理院が公開している学習済みCNNモデルを使用する。
> 国土地理院(2023):CNNによる地物抽出のための深層学習済モデル,国土地理院技

元記事を表示

OTHERカテゴリの最新記事