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

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

Chromeのバージョンに合わせて最新-1のChromeDriverを取得する方法

## ChromeDriverを自動更新するのはなぜ?
– 自分のPCで画面操作の自動化をするにあたり、[UiPath](https://www.fsi.co.jp/rpa/uipath/)や[Power Automate](https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/images)がある
– シンプルに実装する場合や画面のテスト実行時にSeleniumが使用されており、画面操作の自動化をプログラムとして実装する場合に利用することが多い
– 以前からSeleniumのChromeDriverを利用していたが、通常操作のChromeのバージョンに合わせて手作業でChromeDriverの更新が面倒
– システマティックに操作したいため、自動化を検討した

## 結果
– 自動化は可能そう
– 本日から稼働するため、挙動は今後検討しなければいけない可能性はある
– [ソースコード群はGithub上で展開](https://github.com/chibadai/get_selenium_chromedrive

元記事を表示

ABC333(A~E)をPythonで解く

# A: Three Times

https://atcoder.jp/contests/abc333/tasks/abc333_a

数字NをN個つなげて得られる文字列を出力します。

コード

“`python
N = int(input())
ans = “”
for i in range(N):
ans += str(N)

print(ans)
“`

# B: Pentagon

https://atcoder.jp/contests/abc333/tasks/abc333_b

スマートな解法が思い浮かばなかったので地道に全部辺を列挙しました。
短い辺の集合にどちらも存在するかどちらも存在しないかの時だけYesです。

公式の滅茶苦茶スマートな解法は[こちら](https://atcoder.jp/contests/abc333/editorial/7985)

コード

“`python
one = [“AB”, “

元記事を表示

GitHub の Jupyter Notebook を Google Colab で実行する方法

# 要約
Github の URL(例: https://github.com/yoshidashingo/langchain-book/blob/main/chapter4/notebook.ipynb) をコピーして、「ファイル」→「ノートブックを開く」→「GitHub」。

# 質問と回答
:::note warn
https://github.com/yoshidashingo/langchain-book/blob/main/chapter4/notebook.ipynb のようなファイルを Google Colab 上で実行する方法を教えてください。
:::

:::note info
GitHubにあるJupyter Notebookファイル(.ipynb)をGoogle Colabで実行する方法は以下の手順で行います:

1. **GitHubのJupyter NotebookファイルのURLをコピーする**:
– まず、実行したいGitHubのJupyter Notebookファイルのページにアクセスしてください。
– そのページのURLをコピーします。

元記事を表示

Pythonでjsonの読み込みと書き込みする

jsonデータをPythonで扱う方法について勉強したのでまとめ

## jsonとは?
jsonデータは複数の言語で利用可能な共通フォーマット
CSVやXMLといったものも同じようデータフォーマットとして用いられるが、それらのフォーマットと比較してjsonは読み書きしやすいという特徴がある。
外部ファイルとしてPython内で利用する変数の保存などに利用可能。

## Jsonの読み込み
### jsonファイルを準備
これを準備しないと始まらない。
まずはローカルにjsonファイルを作成します。
バナナとリンゴについて記述したデータ

“`sample.json
{
“food1”:{
“name”:”banana”,
“color”: “yellow” ,
“price”: 200
},
“food2”:{
“name”: “apple”,
“color”: “red” ,
“price”: 100
}
}
“`

### jsonファイルの読み込み
jsonモジュールをインポートします。
“`python:
import json
“`

### jsonファイ

元記事を表示

能登半島地震の航空写真の一枚画像を作る方法

国土地理院が能登半島地震の航空写真を地理院地図へ公開していた。
[地理院地図での可視化例](https://maps.gsi.go.jp/#17/37.396467/136.901816/&base=pale&ls=pale%7C20240102noto_wazimanaka_0102do%7C20240102noto_suzu_0102do%7C20240102noto_wazimahigashi_0102do%7Cseamlessphoto&blend=0000&disp=11111&vs=c1g1j0h0k0l0u0t0z0r0s1m0f0&vs2=f0&sync=1&base2=std&ls2=std%7C20240102noto_wazimahigashi_0102do%7C20240102noto_wazimanaka_0102do%7C20240102noto_suzu_0102do&blend2=000&disp2=1111&lcd2=20240102noto_suzu_0102do)

本記事では、Pythonを使って、地図タイルを一枚のGEOTIFF画像にする方法を

元記事を表示

CythonでPythonコードを高速化する。

# 1.初めに

Cythonを利用して、自分が書いたNumpyコードをどこまで高速化できるかを確認します。

# 2.Cythonと評価関数の準備

## 2.0. Cythonのインストール
Cythonをインストールします。
“`bash:setup
pip install Cython
“`

## 2.1. Pure Pythonの評価関数
評価用の関数を作成します。0からNまでの和を計算する単純な関数です。
純粋なPythonで関数を作成します。
“`python:test_function.py
def sum1(n):
sum = 0
for i in range(n):
sum += i
return sum
“`

## 2.2. Cython形式の評価関数

Cythonのため、pyxのコードを作成します。結果が大きくなるので、intを使うとoverflowが発生します。そのため、longを使います。

“`pyx:test_function_cython.pyx
# test_function_cython.py

元記事を表示

Azure OpenAI GPT-4 Turo with visionで水槽画像とセンサー情報から状況を説明する

# 1.目的
某コミュニティの冬休みの自由研究の一環で、12月に登場したAzure OpenAI GPT-4 Turob with visionへセンサー情報と画像を送信して状況を説明させるWebサイトを作成しつつ以下を目的とする。
・Azure OpenAI GPT-4 Turob with visionのAPI周りを中心に学ぶ。
・センサと画像情報を活用し、GPT4にて何ができるかを考える。
なお今回は1日程度で作成が可能な構成とした。
– 外観
![GCqf7UFaoAA_WKs.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639433/27be20fd-2a03-1c6b-4bdc-0cffdab25308.jpeg)
– 画面
![GCqf7UObcAAXlWy.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639433/c12a3884-bbc5-7d10-087c-65418118a503.jpeg)

元記事を表示

読みづらい見づらい dict や JSON を pprint できれいにみよう。インストール不要

大きい dict や JSON って見づらいですよね。そういうときは、まず pprint の使用をおすすめします。

## 長い dict や JSON の例

なにも考えずに `print(data)` とすると横長になってとても読みづらい……。

“`JSON
{“glossary”: {“title”: “example glossary”, “GlossDiv”: {“title”: “S”, “GlossList”: {“GlossEntry”: {“ID”: “SGML”, “SortAs”: “SGML”, “GlossTerm”: “Standard Generalized Markup Language”, “Acronym”: “SGML”, “Abbrev”: “ISO 8879:1986”, “GlossDef”: {“para”: “A meta-markup language, used to create markup languages such as DocBook.”, “GlossSeeAlso”: [“GML”, “XML”]}, “Gloss

元記事を表示

Python環境構築

# 本記事の位置づけ
本記事は私がPCが故障して環境が色々とリセットされる状態になったので、WSL2のインストール・Pyenvの環境整備を行ってPythonの環境を準備するまでの過程をまとめたものになります。

とりあえずでPythonを触る初心者向けというよりは、ある程度Pythonを触っているor触るつもりの中級者向けの環境構築になるかと思いますが、参考になれば幸いです。

# 対象の環境
Windows 11

# 下準備
## Windowsの機能の有効化
Windowsの設定(Win + I)でシステム > オプション機能 > Windowsのその他機能を選択してください。
選択後のメニューからLinux 用 Windowsサブシステム、Hyper-V、仮想マシンプラットフォームを選択してください。

## WSLの設定およびインストール
画面下部の検索欄で「cmd」と入力して出てくるコマンドプロンプトを管理者として起動しましょう。

“`
dism.exe /online /enable-feature /featurename:VirtualMachinePlatfor

元記事を表示

【Python】プロキシ認証環境下でpipコマンドを使用する方法

# はじめに
こんにちは。ryoです。
この間、プロキシ認証環境下でpipコマンドでパッケージをインストールしようとしたところプロキシによってpipが上手くいかなかったので、その場合の対処法を備忘のためにまとめます。
環境はWindows10です。

# 結論
プロキシ認証環境下でpipコマンドを使用するためにはpipコマンドの–proxyオプションにプロキシ認証用のユーザー名<username>とパスワード<password>を指定すればOKです。
また、<domain.com>にはプロキシのドメイン名もしくはIPアドレスを、<port>はプロキシのポート番号を指定してください。
(企業ネットワークの場合、プロキシのドメイン名、ポート番号は企業内で指定されています。)
“`bash
python -m pip install パッケージ名 –proxy http://:@: “`

# その他
今回はpipのオプションとしてプロキシの認証情報を設定する方法を実践しましたが、その他方

元記事を表示

PythonとKinoveaを使って歩行の2次元動作解析をする日記【Kinovea編】

# はじめに
ケガや病気で身体機能に障害を負ってしまった患者さんに対して、理学療法士がリハビリの治療プログラムを立案する際、患者さんの運動を分析し力学的に解釈する能力が必要となります。

私は7年間理学療法士として仕事をするなかで、不確かな一面をもつ身体機能をデータ化し分析するのにITが非常に強力なツールになると感じプログラマーに転職しました。

しかし仕事上必要な分野の勉強やJsとPythonが楽しく後回しになっていたため、今年一発目は初志を思い出し 「バイオメカニクス×IT」 のテーマに取り組んでみます。

## やりたい事
セラピストが患者に生じた身体機能の低下を的確に評価する手段の一つとして動作観察・動作分析があります。
しかし私の経験上、臨床現場では動作をスロー再生したり後で見返すために動画を撮影する事はあっても、そこから運動学的なパラメータを算出する事はせず分析はあくまで肉眼での判断に留まると感じます。

そこで今回は歩行動画から各ランドマークの座標を取得し、そこからどういった数値を算出できるか検証しながら実際に歩行分析を行っていきたいと思います。

### 使用するツール

元記事を表示

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

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

### **assistant**:

ご挨拶ありがとうございます。ただ、申し訳ありませんが、私の現在の知識と能力ではアイヌ語への翻訳は未対応となります。アイヌ語は日本国内の少数言語であり、その豊かな文化と歴史を理解するのはとても重要ですが、現在我々が持つAI技術ではアイヌ語への完璧な翻訳を提供するのは難しいというのが現状です。

私達はこのような少数言語に対応するために研究と開発を進めていますが、まだその段階にはありません。こうした限界に対する理解と協力をお願い申し上げます。

### **user**:

それがですね、ChatGPT先生、 https://huggingface.co/SoMiyagawa/AinuTrans-2.0 を使えば翻訳できるっぽいんですよ。使い方を教えていただけませんか?

### **assistant**:

元記事を表示

能登半島地震どんな地震?(速報)

## はじめに
1月1日の能登半島地震では多くの被害が出たことと思います。
一刻も早く日常に戻れることをお祈りしています。
防災を生業とするエンジニアとして、今回の地震がどんな地震だったか調査したので結果をお伝えします。今回使用したデータは[防災科学技術研究所](https://www.kyoshin.bosai.go.jp/kyoshin/)と[神戸海洋気象台](https://www.data.jma.go.jp/eqev/data/kyoshin/jishin/hyogo_nanbu/index.html)のデータを使わせていただきました。関係各位にお礼申し上げます。
なお、今回は速報のため、間違いがありましたらご指摘ください。

## 加速度波形
![Noto_EW.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691433/124f339b-ceb0-599f-cb5a-7eca9fa272f0.png)
図は今回の地震で最も加速度が大きかったK-NET富来のEW(東西方向)成分の加速度波形で

元記事を表示

Processing風のPythonライブラリ(Python Mode for Processing に変わるCPythonのライブラリ)

# 概要
Processing は、導入が簡単でグラフィカルなアプリを簡単に作れるなど、初学者のプログラミング習得に向いた環境であるが、文法などはJavaベースである。今時のAIやデータサイエンスなどと組み合わせるためのPythonでやりたい。

ProcessingをPython言語で書くためのPython mode for ProcessingもあるもののJythonベースであるためPython2系となりPython3系は使えない。また外部ライブラリもProcessing専用のライブラリを使う必要があるが、最新のProcessing4用のPython Modeでは外部ライブラリが使えないという問題がある。

そこで、Python mode for Processingに変わる、Pythonでお手軽にGUIプログラミングができる初学者向けの環境を探してみた。条件としては次の通り

– Python3系であること、できればCPython環境
– Processing以外の外部ライブラリを簡単に使えること
– 最近までメンテナンスされていて、今後もメンテナンスされる、または自力でメンテナ

元記事を表示

【Python】math関数を使った切り上げ・切り捨て・偶数丸め(≒四捨五入)の除算

# 概要
Python3では、設計上、整数同士の除算でも結果が浮動小数点数として返されることになっています。本記事では`math`を使ったサンプルコード、実数除算と整数除算、情報落ちなどについて解説します。

# 除算では割り切れる場合でもfloat型になる

公式ドキュメントでも以下のように記載されています。

> 除算 (/) は常に浮動小数点数を返します。 // 演算子は 整数除算 を行い、整数値を返します; 剰余は、% で求めます。:
引用元:[3.1.1. 数¶](https://docs.python.org/ja/3/tutorial/introduction.html#numbers)

以下ではわかりやすい例もあります。

>3 / 3 のように割り切れる場合でも、答えは整数の 1 ではなく、小数点以下が `0`のfloat型になります。
1.0
引用元:[整数と実数: ゼロからのPython入門講座](https://www.python.jp/train/type_and_func/float.html)

Pythonでは(というか他の言語でも一緒と思われる?)

元記事を表示

【Django】TypeErrorに遭遇した

はじめてのDjangoアプリ作成その4でエラーに遭遇した。
エラーメッセージは
“`
TypeError at /polls/1/vote/
cannot unpack non-iterable int object
“`
というもの。
結論として、原因は`question = get_object_or_404(Question, question_id)`で`pk=question_id`とせず直で渡していたためであった。
直とDjangoがKeyと認識できなかったものと推測。
なおコードは以下の通り。
“`
def vote(request, question_id):
question = get_object_or_404(Question, question_id)
try:
selected_choice = question.choice_set.get(pk=request.POST[“choice”])
except (KeyError, Choice.DoesNotExist):
return rend

元記事を表示

CRDのない超簡単Kubernetes Operator(Python Operator Framework編)

# はじめに
本稿は、KubernetesのOperator初学者のために、Operatorのコントローラの部分だけを簡単に書いてみて、Operatorが何をしているかを明らかにします。

ここではPythonとkubernetesモジュール(kubernetes Python SDK)に加えて、Python用のOperator Framework(Kopf: Kubernetes Operators Framework)を用いて、Operatorとして動作する簡単なプログラムを書きます。これは「CRDのない超簡単Kubernetes Operator」の第3弾であり、第2弾の続編です。まだ読んでいない方は第1弾のシェルスクリプト編と第2弾のPython編から読むことをお勧めします。

シェルスクリプト編では、この一連の記事の目的なども説明しています。

https://qiita.com/shimenawa_design/items/85681d5ce8787937f52f

https://qiita.com/shimenawa_design/items/c7ba1ef517025

元記事を表示

Pythonでロジスティック回帰分析をやってみる

# はじめに
本記事ではPythonでロジスティック回帰分析を行います。データは「[YouTubeで学ぶPythonデータ分析・講座一覧][logistic]」からお借りしました。

[logistic]:https://analysis-navi.com/?p=3868#google_vignette

# 環境
python 3.10.4
Windows 11 Home

# ロジスティック回帰分析とは
ロジスティック回帰分析とは、予測したいデータ(目的変数)に対して、複数の要因データ(説明変数)との関係を数式で表現する統計的な手法で、教師あり学習のひとつである回帰分析に分類されます。
[前回の記事][double]で取り上げた重回帰分析(線形回帰)との違いは、目的変数が数値ではなく2値になることです。
線形回帰は売上等の数値の予測に使用しましたが、ロジスティック回帰は「健康か不健康か」等の2値の予測に使用することができます。

[double]:https://qiita.com/yuya2220/items/cb75762540bb880ebbab

# 使用するデータの構造

元記事を表示

ChatGPTとPythonで学ぶ 日本語文書のベクトル埋め込み:百人一首編

皆さんこんにちは。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ 日本語文書のベクトル埋め込み」というテーマで雑談したいと思います。新年ということで、日本語文書として百人一首を用意しますよ。それではChatGPT先生、よろしくお願いします。

### **assistant**:

こんにちは、宜しくお願いします!

面白いデータセットを用意していただき、ありがとうございます。日本語文書のベクトル埋め込みについて話すのはとても興奮します。

ベクトル埋め込み、とは一体何でしょうか。これは、文章や単語を数値の配列、すなわち「ベクトル」に変換する手法を指します。そのベクトルは、文書の意味的・構造的特性を捉えます。これにより、自然言語処理(NLP)タスク、たとえば分類、情報抽出、類似性の比較、クラスタリングなどに利用できます。

教師無し学習アルゴリズムのひとつである単語埋め込み(word embedding)アルゴリズムを使えば、同じような文脈で使われる単語が似たベクトルにマッピングされることになります。一般的な単語埋め込みの手法としては、Wo

元記事を表示

【個人開発】近くの図書館に読みたい本が入荷されたときに通知するLINE Botを作りました。

## はじめに
こんにちは!都内文系大学生の@StStuです。
私はプログラミングにまだまだ通じていないのですが、勉強も兼ねて、「近くの図書館に読みたい本が入荷されたときに通知するLINE Bot」を作りました。

名称はそのままですが、「新着図書通知Bot」です…

LPはこちらから!

https://stock-stu.com/library_notify/lp/top/

## 新着図書通知Botについて
今回作成した新着図書通知Botについて簡単にご紹介させてください。

:::note warn
記事内に誤記や勘違い等ありましたら、ご指摘いただければ幸いです…
:::

### 新着図書通知Botのたった一つの機能
今まで自分でいくつかアプリを作ってきたのですが、毎回機能を増やそうと躍起になって、本来の目的を見失うことが多々ありました。
今回は、その反省を活かし、一つのことだけができるように特化しました。
それは、「家の近くの図書館に、読みたい新刊が入荷されたときに通知する」という機能です。

現在、いわゆるMPVの状態で、細かい課金機能な

元記事を表示

OTHERカテゴリの最新記事