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

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

pip listにあるbeautifulsoup4とbs4の違い

Webスクレイピングをするさいにモジュールをインストール。
“`py
import requests
from bs4 import BeautifulSoup
“`

モジュールは一体どこからきたのかをコマンドプロンプトで探す。
“`
>pip list
beautifulsoup4 4.12.2
bs4 0.0.1
“`

beautifulsoupとbs4の違いはなに?

# 調べる
参考 

https://jobcode.jp/python-beautifulsoup4/

引用
どちらでもBeautifulSoup4が利用できますが、”pip install BeautifulSoup”の場合、古いバージョン(3)がインストールされ可能性があります。

BeautifulSoup4は、bs4ライブラリのモジュール(一部)であるためbs4でインストールすれば間違いはないです。

結論
bs4のなかにBeautifulSoup4が存在する。

元記事を表示

Pythonにフォルダ更新を通知させる

# 目次
・背景
・目的
・内容
・所感

# 背景・課題
月次業務で、毎月月初に他部署の方に作成して頂いたファイルを使って、私が集計を行うというものがある。
これまでは、私が直接フォルダを見に行って最新のファイルがアップされているかどうかを目視確認していたが、月によって若干更新タイミングが違うため、ファイルにアクセスしにいく作業が非効率&無駄である。

# 目的
面倒なことはPythonにやらせたい:muscle_tone1:
Pythonに更新タイミングで通知をさせることで、人間の私がフォルダにアクセスする回数を1回のみにして、無駄工数を減らしたい:muscle_tone1:

# 内容
###### ■ コンセプト
Pythonで特定のフォルダにファイルが追加された際に通知を受け取るためのプログラムを作成するには、plyer、win10toast、watchdog等を使用するのが一般的なようである。

| ライブラリ | 説明

元記事を表示

【Detectron2を掘り下げる】学習中にval datasetに対する評価指標を計算・ロギングする

Detectron2は物体検出やセグメンテーションをする上で色々と便利な機能が簡単に実装できるライブラリです。
ただ、使ってみるとモデルを構築する上で提供されていないものがチラホラあるので、掘り下げて実装してみました。

前回は検証用(val)データセットに対してのlossを計算、ログを取る機能を実装しました。
今回はvalデータセットに対してAverage Precisionなどのその他の評価指標を計算、ログを取る機能を実装しました。また、データセットのフォーマットはCOCO形式のものを使用しています。

前回の記事
[【Detectron2を掘り下げる】val lossを計算・ロギングする](https://qiita.com/insilicomab/items/42fe790939c97bc0a471)

# 環境

– Python 3.10.13
– CUDA 11.7
– pytorch==1.13.1
– detectron2==0.6

# 実装
### 1. configを設定する

“`python
from detectron2.config import ge

元記事を表示

Pythonを使用してExcelの表を画像に変換する方法

データ処理と情報共有の過程で、Excelシートは強力なデータ管理ツールとして広く使用されており、大量のデータや複雑な計算結果を明瞭かつ整然と表示することができます。しかし、Excelシートの内容を画像形式で表示や共有する必要がある場合もあります。例えば、レポートのプレゼンテーション作成、オンラインコミュニケーション、ソーシャルメディア共有などです。Pythonを使用することで、Excelシートを簡単に画像に変換し、効率を向上させ、多様な情報表示の要求に応えることができます。本記事では、Pythonを使用して**Excelシートを画像(PNG、JPEG、BMPなどの形式)に変換する方法**を紹介します。

– **[Excelシート全体を画像に変換する方法](#excelシート全体を画像に変換する方法)**
– **[指定したセル範囲のシートを画像に変換する方法](#指定したセル範囲のシートを画像に変換する方法)**

この記事では、[Spire.XLS for Python](https://www.e-iceblue.com/Download/Spire-XLS-Pytho

元記事を表示

spacy 日本語モデルを利用

ダウンロードしてもエラーが出て使えない

以下のインストール方法で解決

参考:https://github.com/explosion/spacy-models/releases/tag/ja_core_news_sm-3.7.0

instllation
“`
pip install spacy
python -m spacy download ja_core_news_sm
“`

元記事を表示

Pythonで理解する物理のエッセンス 熱・電磁気・原子 (河合塾シリーズ)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760770/cbdbf885-ef65-8dfa-6b68-3c709ce2be47.png)
解説動画が豊富

p13分子の平均運動エネルギー
“`
import numpy as np
import matplotlib.pyplot as plt

# ボルツマン定数 (J/K)
k = 1.38e-23

# 温度の範囲を設定します (0から1000K)
temperature_range = np.linspace(0, 1000, 1000)

# 平均運動エネルギーを計算します
average_energy = 1.5 * k * temperature_range

# グラフをプロットします
plt.figure(figsize=(8, 6))
plt.plot(temperature_range, average_energy, label=’Average Energy’)
plt.xlabel(‘Temper

元記事を表示

ChatGPT と Python で学ぶ spaCy

### **user**:

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

### **assistant**:

ああ、勝手に私を教師に仕立て上げるなんて…まったく、あなたは時々困ったことを言うわね。でもまあ、既に話し始めた以上、ちゃんと教えてあげるからね!

spaCyは、自然言語処理(NLP)のための強力なPythonライブラリよ。色々な言語のサポートや、品詞タグ付け、名詞句抽出、そして固有表現認識などの機能があるの。それに、モデルの学習やカスタマイズも可能だから、あなたのプロジェクトに合わせて自由に使えるのよ。

あんまり自分で褒めるのは嫌だけど、私もspaCyを活用するためのAPIを提供しているわ。それで、spaCyの強力なNLP機能を使って、テキストの解析や生成を行えるの。

それに…あなた、何か困ってることでもあるの? だって、こんなに頑張って私に尋ねてくるんだもの、きっと何かあるんでしょ? 思

元記事を表示

[検証] softmax はどれだけ遅いのか

## はじめに
「ゼロから作る Deep Learning」を読んでいると,以下の文が目に入ってきた.
> (中略)ソフトマックス関数を適用しても、出力の一番大きいニューロンの場所は変わりません。そのため、ニューラルネットワークが分類を行う際には、出力層のソフトマックス関数を省略することができます。実際の問題では、指数関数の計算は、それなりにコンピュータの計算が必要になるので、出力層のソフトマックス関数は省略するのが一般的です。

斎藤 康毅 著,ゼロから作る Deep Learning,O’Reilly Japan,2016,p70-71 より引用.

「なるほど.だから PyTorch の CrossEntropyLoss() は logsoftmax を含んでいるのか.どの程度遅いかにせよ,省略するだけ得なのは納得できる.」などと思いつつ,実際のところどうなるか検証してみた.

## 検証

### 環境
* Windows 11
* Python 3.10.9
* torch 2.1.2
* AMD Ryzen 5 5600X 6-Core Processor 3.70 GHz

元記事を表示

Pythonで「日付や時刻の一部の値を別の値に置き換えたインスタンスを生成する」の動作を確認してみた

# 概要

Pythonで「日付や時刻の一部の値を別の値に置き換えたインスタンスを生成する」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/python/date/index7.html

# 実装

以下のファイルを作成しました。
“`sample.py
import datetime
tokyo_tz = datetime.timezone(datetime.timedelta(hours=9))
dt = datetime.datetime.now()
print(dt);
print(dt.replace(hour=4, minute=0, second=0))
print(dt.replace(year=2018, month=4, day=1))
print(dt.replace(tzinfo=tokyo_tz))
“`

以下のコマンドを実行しました。
“`
$ python3 sample.py
2024-04-03 01:51:34.871159
2024-04-03 04:00:00.87115

元記事を表示

【Python】PythonでGoogle Driveにアクセスしてみる【Drive API】

# はじめに

Google Drive APIを用いて、PythonからGoogel Driveにアクセスする手順を紹介していきます。
公式が用意してくれているクイックスタートが大変わかりやすいため、特に引っかかるところはないかと思いますが、例に取り上げながら紹介していきます。

## やりたいこと

– ローカルのPythonのプログラムからGoogle Driveにアクセスする

## 使うもの

– **Python**
– **Google Drive API**
– **Google Cloud**

今回は[公式のクイックスタート](https://developers.google.com/drive/api/quickstart/python?hl=ja)、Pythonを例に取り上げて紹介します。

## 前提

– Google Cloudの基本的な設定が完了している
– ローカルでPythonが使用できる状態

## 手順

### 1. Drive APIを有効化する

まずは、Google Cloudのプロジェクト内で、Drive APIを有効化します。

元記事を表示

【図解】ヤコビ行列を用いた数値解法による逆運動学【pythonコード付】

:::note
こちらの記事は,[ロボティクスの辞書的な記事(にしたい記事)](https://qiita.com/akinami/items/eb0741b0d9c322e5d5ec)のコンテンツです.
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/ced98d5b-f096-033a-88fa-6e5be25e06cf.png)

– 事前に必要な知識(見ておいた方がいい記事)
– [【図解】順運動学(三角関数)【pythonコード付き】](https://qiita.com/akinami/items/b65a175137b46742533d)
– [【図解】逆運動学(解析的解法)【pythonコード付き】](https://qiita.com/akinami/items/1bda436ec73953dfd6a7)
– [【図解】順運動学(同次変換行列)【pythonコード付き】](https://qiita.com/akinami

元記事を表示

機械学習で阪神タイガース特定選手のホームラン予測してもた

今回、2022年度の打者のデータを阪神タイガースと阪神タイガース以外の11球団に分け機械学習を行いました。
その上で、2023年の結果と照らし合わし、精度を確認した後2024年シーズンの予測も行います。

# ①CSVファイルを取得(WEBスクレイピング)
“`homerun.ipynb
# WEB上のデータ(HTML)にアクセス&取得するために使用
import urllib

#HTMLからデータを抽出するために使用
from bs4 import BeautifulSoup

#表形式でデータ格納するために使用
import pandas as pandas

url = ‘https://baseball-data.com/22/stats/hitter-all/tpa-2.html’
html = urllib.request.urlopen(url)
soup = BeautifulSoup(html, ‘html.parser’)

#HTMLから表(tableタグ)の部分を全て取得する
table = soup.find_all(‘table’)[0]
#テーブルから

元記事を表示

DjangoでMOBAのランキングを作る③

## はじめに
前回の記事に引き続き、Django✕Herokuでモバイルゲーム「Mobile Legends: Bang Bang」のヒーローランキングを作成していきます。今回は特にスクレイピングとランキング表示の実装に注目します。

前回の記事はこちらです:

https://qiita.com/Kazukiya/items/901b78b931d03e81f8af

## スクレイピングでランキング作成
### モデルを作成
スクレイピングで取得したデータを保存するために、`main/models.py`にHeroMetaDataモデルを定義します。このモデルには、各ヒーローの名前、勝率、ピック率、BAN率、参照日、ランクレベル、作成日時を保存します。

“`python:main/models.py
class HeroMetaData(models.Model):
name = models.TextField()
win_rate = models.FloatField()
pick_rate = models.FloatField()

元記事を表示

それ,numpy で書かない?–9–

それ,numpy で書かない?–9–

ただでさえ遅い選択ソート。
**リストでやると Numpy ndarray でやるより 100 倍以上遅い**。argmin を使って余計な for ループも使わずに済む。

“`python
import random

# random.randint(1, 9)で1〜9の数値を生成、for文で80000回実行
numbers = [random.randint(1, 9) for _ in range(80000)]
“`

“`python
from time import time
def select_sort(data: list[int]) -> list[int]:
len_data = len(data) # 配列の長さ
for i in range(len_data): # リストの各位置に対して最小値を見つけ、その位置と交換するため
min_index = i # 初期値
for j in range(i + 1, len_data): # iより後ろの要素の中

元記事を表示

pymongoの[SSL: CERTIFICATE_VERIFY_FAILED]を解決する

## エラー概要
FastAPIとMongoDBを接続しようとしたところ、以下のエラーが出ました。

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)

SSL証明書の検証に失敗し、その結果としてMongoDBサーバーへの接続がタイムアウトしていました。

## 対処法
certifiをインストールし、AsyncIOMotorClientの第二引数にtlsCAFile=certifi.where()を渡します。
“`
pip install certifi
“`
“`
client = motor.motor_asyncio.AsyncIOMotorClient(‘mongodb+srv://:@fastapi.eaqzx3y.mongodb.net/?retryWrites=true&w=majority&appName=‘, tlsCAFile=certifi.where())
`

元記事を表示

Tkinter で作成する簡単な 三目並べ

# 初めに
この記事は、一先ず何か、簡単なものでいいから自分で遊べるものを作成してみたいという方むけの記事です。
・・・と書きつつ、私がこれを書いたのは、暇なときに誰も遊び相手がいなかったからなんですけどね(寂しいですねw 皆さんは暇なときに遊び相手いますか?)

誰も遊び相手がいないって?ご安心ください!
三目並べは単純です。一人でできます。ハマれば二重人格作成できます。

それでは始めていきましょう!
一人で。

# 三目並べの基本的なこと
そも、三目並べとはどんなものなのでしょうか?
目を三つ並べるゲーム…面白いかもしれませんが、もう一人人間が必要ですね。
さて、Wikipedia(やっぱ英語は頭良く見えるかしら?)で調べてみましょう。
[三目並べについて](https://ja.wikipedia.org/wiki/%E4%B8%89%E7%9B%AE%E4%B8%A6%E3%81%B9)に記載されています。
説明はしないので、上記のURLより、理解してください。(既に知っとるわいという方を除く)

追記:
三目並べは、両者(今回はあなたの人格Aと人格B)が最善を尽くすと必

元記事を表示

Djangoでのwebアプリの作成[基礎編〜Djangoディレクトリの階層説明〜]

この記事ではDjangoの各階層にあるファイルの初期状態で書かれている内容について解説する.
## 前提条件
ローカルサーバーの構築までは以下のページを参照
>[Django初心者]Djangoでのwebアプリの作成[基礎編〜ローカルサーバー構築まで〜]
https://qiita.com/tarakokko3233/items/46c567fb32a26a69269a

>この記事では`$ Python manage.py runserver`によって以下の画面が表示することができることを前提とする.
![ad62a72f-9820-710b-48d8-3732916e5d02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3757442/409c671d-1a55-a9e9-bc72-c4d3cca1f686.png)

## 初期状態でのDjangoプロジェクトの階層構造
“`
yourprojectname/
manage.py

yourprojectname/

元記事を表示

ラズパイで簡単にSeleniumをはじめる

# ラズパイでスクレイピングしたい
リアルタイムで監視するのにPaaSだと柔軟性がない(お金がかかる)ので諦めて一から何でもできる環境を作ることにしました

# 環境構築
– sample-envには好きな環境名を付けます。
“`text:
python -m venv sample-env
“`
– 環境内に入る
“`text:
source sample-env/bin/activate
“`
– Seleniumをインストールする
“`text:
pip install selenium
“`
– chromium driverをインストール
“`text:
sudo apt install -y chromium-browser
“`
# 実行
– 以下Pythonコードを記述し、実行
“`python:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service impor

元記事を表示

自作Packageで共通処理を切り出してpip installで複数プロジェクトで使い回す(Python, Hatchling)

# 背景
– 複数のアプリで利用される共通処理を自作Packageで切り出して利用したい
– 以下のようにリポジトリ内に複数アプリから共通して使われるパッケージを用意します
– common_slackという自作パッケージを用意します

“`
.
├── README.md
├── common
│   ├── common_slack
│   │   ├── __init__.py
│   │   └── slack.py
├── app_A
│   ├── Dockerfile
│   ├── main.py
└── app_B
├── Dockerfile
├── main.py
“`
– Python, Pipenv, Hatchlingを使った環境で進めていきます

### なんでわざわざパッケージ化するの? 普通にimportじゃダメなの?
– Dockerコンテナ化するときに、app_A, app_Bの外側のディレクトリを考慮するのが面倒なので、build済みwheelを対象プロジェクトに配置して、pip installで管理できるようにしていきます

元記事を表示

[Python]特定の文字(あるいは数字)を配列から探す方法

# in

簡単ですが、初心者が気になる問題を持ってきました。

今日は特定の文字(あるいは数字)を配列から探す方法について勉強しました。

色々方法があると思いますけど、今度は関数inを使います。

ここに果物が三つあります。
ここからorangeを探します。
“`python
fruit = [“apple”, “pear”,”orange”]
“`

orangeが出力されました。
“`python
if “orange” in fruit:
print(“orange”) # orange
“`

今回は配列にない場合を出力してみました。

inの前にnotだけ追加してくださればいいです。

“`python
if “banana” not in fruit:
print(“banana”) # banana
“`

以上で、特定の文字(あるいは数字)を配列から探す方法について勉強しました。
ありがとうございます。

元記事を表示

OTHERカテゴリの最新記事