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

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

PythonでExcelに画像を挿入、置換、抽出、削除する

エクセルは主に表計算データを扱うためのツールです。時には、ワークシートに視覚効果を加え、レポートの魅力を高めるために、Excelで画像を挿入、編集、管理する必要があるかもしれません。
この記事では、**Pythonを使用してExcelで画像を操作する方法について**、以下の4つの基本的な例を含めて詳しく説明します:
* [PythonでExcelに画像を挿入する](#pythonでexcelに画像を挿入する)
* [PythonでExcelの画像を置換する](#pythonでexcelの画像を置換する)
* [PythonでExcelから画像を抽出する](#pythonでexcelから画像を抽出する)
* [PythonでExcelから画像を削除](#pythonでexcelから画像を削除)

## Excelファイルを扱うためのPythonライブラリ
:pushpin: Python Excel API – [**Spire.XLS for Python**](https://www.e-iceblue.com/Introduce/xls-for-python.html)

まず、サ

元記事を表示

複数名のGoogleカレンダー予定をAWS Lambdaで取得する

# はじめに
部署やグループ全体のスケジュール調整にはGoogleカレンダーを利用するのが便利ですが、複数のカレンダーを同時に確認するのは手間がかかります。
そこで、GoogleカレンダーAPIを使用して複数人分のスケジュールを取得する方法を紹介します。この処理は主にAWS Lambdaを使用して実装しました。

# 1. GCPでサービスアカウントを用意
まず最初に、GoogleカレンダーAPIを利用するためには、Google Cloudのプロジェクトを作成し、サービスアカウントを設定する必要があります。

このサービスアカウントにドメイン全体の委任を行い、`/auth/calendar.readonly`といったスコープを設定します。※ワークスペースの管理者権限が必要
このサービスアカウントのサービス アカウント キーやWorkload Identity 連携を利用しサービスアカウントの権限でAPIを叩きます。

# 2. 予定を取得するLambda関数
次に、実際に予定を取得する処理をAWS Lambdaで実装します。

実行者のメールアドレスをcredentialのsubjec

元記事を表示

論文のPDFから本文を読み取るやつ

# よくある論文のPDFファイルを
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412006/10dc8926-96d3-617a-7442-884ac8d994ac.png)

# Jsonファイル形式で出力します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412006/354a7b7c-f50d-295d-fe61-5bfe780c4141.png)

# 思想
Chat-GPTに入れるためにPDFからコピーするの面倒くさいな
-> テキストだけ抽出できるようにしよ

# 仕様

## 入力
– pdf

## 出力
– json

## 必要ライブラリ
– pypdf
– re
– json

## 詳細な仕様
1. 題名・著者名はページ0にあると想定
1. 題名は一番初めに来て、改行がないと想定
1. “Abstruct”の文字列を検索し、著者名を抽出

元記事を表示

Pycaretで精度が悪いときに試したほうがよいこと

# はじめに
Pycaret はとても便利なAutoMLサービスです。これは自動で前処理、ホールドアウト、交差検証、ハイパラチューニングなどの面倒な処理を行ってくれるのですが、前処理のせいで逆に「LightGBMを手書きするよりも精度が落ちるが、なぜかわからない」みたいなこともあります。そういうときに試すべきことをまとめました。

今回は、概ね次のようなコードで、(1)モデル比較、(2)ハイパラチューニング、(3)ブレンディング、(4)再度チューニング、(5)予測、という一連の操作を行う、という状況を考えています。

“`py
from pycaret.classification import * #回帰の場合は pycaret.regression
setup(train_data, target = “target_col”)
compare_models()

model1 = create_model(‘some model’)
model2 = create_model(‘some model’)
tuned_m1 = tune_model(model1)
tuned_m

元記事を表示

遺伝的アルゴリズムで最適なドリンク成分を生成するツールを作成してみた

# 経緯説明

最近駅でポカリのイオンウォーターを飲んだとき、通常のポカリと少し味が違うと感じました。電車で考えて、一つのidea が出て、それが遺伝的アルゴリズムを使って最適なドリンク成分を生成することができるでは?
実際に試してみることにしました。

:::note alert
これは実際に生成したものをもとにドリンクを作っていないので、したこともないし中身の材料も不明なので、あくまで趣味範囲で遊んでたものをまとめて書いてた記事です。
参考用です!!!!
:::

# What is 美味しさ
お腹すいだね。
source from : http://www.foodyana.sakura.ne.jp/oishisa/knowledge/definition.htm

# 手順説明

まず、遺伝的アルゴリズムを用いてドリンク成分を最適化するための基本的な設定を行います。その後、Tkinterを使ってユーザーが評価基準と遺伝的アルゴリズムのパラメータを調整できるGUIを作成しました。
遺伝的アルゴリズム (GA) の説明
初期集団の生成

# What is GA 遺伝的アルゴリズム

元記事を表示

LSTMを用いた株価予測の時系列解析モデルの構築

# はじめに

本記事では、LSTM(長短期記憶)[^1]モデルを用いた株価予測の時系列解析モデルの構築方法について解説します。具体的には、Pythonを用いたデータの取得から、前処理、モデルの構築、評価までの一連の流れを紹介します。

# 実行環境
本記事のコードはGoogle Colabで実行されています。

– プラットフォーム: Google Colab
– Pythonバージョン: Google Colabのデフォルト(執筆時点では3.10)

# 使用するライブラリ

本記事では、以下のPythonライブラリを使用します。

“`python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import yfinance as yf
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error, r2_score
from tensorflow.keras

元記事を表示

Pythonでゲーム開発を始めよう:Pygameを使った実践ガイド

こんにちは。今回は、Pythonでのゲーム開発に興味がある方向けに、簡単な数当てゲームを作成する方法を紹介します。
Pythonは初心者にも扱いやすく、強力なゲーム開発ライブラリが豊富です。

## Pythonでゲームを作るメリット

Pythonはコードがシンプルで読みやすく、初心者にも理解しやすい言語です。また、Pythonで作成したゲームはWindows、macOS、Linuxなどのマルチプラットフォームで動作します。さらに、豊富なライブラリやフレームワークを活用することで、効率的にゲームを開発することが可能です。

### 環境設定

まずはPythonの環境設定から始めましょう。Pythonをインストールし、必要なライブラリもインストールします。

#### Pythonのインストール

Pythonをインストールするには、[公式サイト](https://www.python.org/)からインストーラをダウンロードし、指示に従ってインストールします。インストールが完了したら、ターミナルやコマンドプロンプトを開き、「python」と入力して、バージョンが表示されるか確認しま

元記事を表示

paizaで学習しようっPython編(最初の一歩~Dランク獲得)

https://paiza.jp/works/mondai

この記事はpaizaのQiitaコラボ記念として作成した[Zennで投稿した記事](https://zenn.dev/yuhi_ili/articles/c8c6d08c882efb)の移植版である。

## 目的
ここにある問題の内容は基本誰もができるので記事が存在しない。ならば作ってしまえというのが今回の主旨。
`記事を作ることで、悩んでいる人が解決に向かうことを祈って。`

## 対象
Pythonの基礎くらいはできる人。でも応用は無理な人。
持っている技術が『最初の一歩』から『Dランク獲得』までの人。

## 読まなくてもいいあらすじ
「せっかくpaizaのアカウント作ったから、なにかしら解いてみよう!」
そう言って早二年。そんなことよりGodotでゲーム開発じゃRustの研究じゃ子供向けの問題じゃと面倒くさくなり忘れ去られる。
しかし!
なにを思い立ったか、突然paizaを開き問題を解き始める。
たんなる暇つぶしか、はたまたAmazonのギフトカード目当てか、ともかく動機は何であれアカウントは再起動する。
ある日、

元記事を表示

フォークしたリポジトリからのPR作成時にpytest-coverage-commentのCIがコケる

# はじめに
以前、Github ActionsのCIに [pytest-coverage-comment](https://github.com/MishaKav/pytest-coverage-comment) を導入しているOSSを支援していました。

その際に、当該リポジトリをフォークしてプルリクエスト(PR)を作成したところ、CIの実行時に以下のエラーが発生し、pytest-coverage-comment が失敗する事象に遭遇しました。
(pytest-coverage-comment のCIはPR作成をトリガーに実行される)

“`
Error: HttpError: Resource not accessible by integration
Error: Resource not accessible by integration
“`
この事象により、外部コントリビューターがPRを作成した際、実行されるCIが失敗する状態となっていました。

ただし、リポジトリのオーナーがPRを作成した場合は問題なく成功するとのことで、このエラーはフォークされたリポジトリからのP

元記事を表示

オープンソースのLLMって何があるの?

# はじめに
KaggleでNLPコンペに取り組み始めました。いろんなLLMがあってどれ使えばいいのかよくわからないので、オープンソースのものに絞って列挙して特徴を比較してみます。

# 1. LLaMA 3
###### 読み方:
ラマ
###### 開発元:
Meta
###### インポート:
Huggingfaceが提供するtransformersというライブラリ。
AutoTokenizerの”from_pretrained”にモデル名を引数として指定するとインポートできる。
“`
!pip install transformers
tokenizer = GemmaTokenizerFast.from_pretrained(“meta-llama/Meta-Llama-3-8B-Instruct”) /* 例です */
“`
###### 特徴:
8Bと70Bモデルがあり、それぞれパラメータ数が80億、700億という意味。

# 2. Gemma 2
###### 読み方:
ジェマ
###### 開発元:
Google
###### インポート:
同じくHuggingf

元記事を表示

【GitHub API】GraphQLでプルリク内の未解決スレッドを取得する

# 解決したい課題

開発者のアクティビティを取得する一環で、APIを活用して **Openなプルリクエスト上に存在している「未解決スレッド(`Un Resolved Conversation`)」** をどうにかして取得したい。

なんだけど、`GitHub REST API` の中にはなさげでした。(`ApiVersion:2022-11-28`)

![UnResovved_Conversation.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3388832/ff0e7c68-8d95-a01f-7bd8-414c497d31cd.png)

https://docs.github.com/ja/rest?apiVersion=2022-11-28

# 解決方法

てなわけで GitHub REST API より柔軟な GitHub GraphQL API を使います。

> GitHubのGraphQL APIは、GitHub REST APIよりも正確で柔軟なクエリを提供します。

元記事を表示

dockerでmysqlコンテナ作ってdjangoから接続する

# この記事でやること
dockerでmysqlのコンテナを作ってdjangoのDBをデフォルトのSQliteからmysqlにする。

状況がよくありそうで探せば色々先人の記事がありそうですが、自分でやっていて結局色々な記事を横断して環境構築したので、自分の備忘録のためにも記事にしておきたいと思います。

後ろの参考文献にも書いておきますが、
[[ Docker compose] Django+React 環境構築
](https://zenn.dev/maha17/articles/ade5fc1dbc9d02)
でDjangoとReactの環境を作った後にMySQLにDjangoで使うDBを変更したいなと思ってこの作業をしたので、上のリンクでの設定を前提としてこの記事を書いています。

なので、前段階としてDjangoのプロジェクト作成あたりの設定はしてある体で書いています。

### 環境
docker : 25.0.3
django : 3.2.25

# 作業手順

## 1\.必要なライブラリのインストール
MySQLを利用するのにpymysqlを使います。あとで入れ忘

元記事を表示

同じものを含む順列の辞書式の順番を求める

[【Project Euler】Problem 24: 辞書式順列](https://qiita.com/masa0599/items/e2d0ead2a8d7df7a59d0)では順列の辞書式の順番を求めましたが、今回は同じものを含む順列で順番を考えます。

### 1.distinct_permutationsを使う

**【例題1】1を1個、3を3個、5を5個使って9桁の数を作って昇順並べたとき100番目の数を求めよ**

まずdistinct_permutationsで順番に生成して100番目を求めます。

“`python
from more_itertools import distinct_permutations
for cnt, p in enumerate(distinct_permutations(“133355555″),1):
if cnt >= 100:
break
print(f”Answer: {”.join(p)}”)
Answer: 335513555
“`

### 2.最上位桁から固定してブロックの数を積算する

[【Proj

元記事を表示

Googleによる生成AIモデル「Gemma 2」をMacBook(M2)で動かしてみた

[Supership](https://supership.jp/)の名畑です。2024年夏アニメが始まりましたが[異世界スーサイド・スクワッド](https://suicidesquad-isekai.com/ja/)がエンタメに徹していて見ていて楽しい。ハーレイ・クインはやっぱり最強。

## はじめに

Googleによる生成AIモデル[Gemma](https://blog.google/technology/developers/gemma-open-models/)の後継である[Gemma 2](https://blog.google/technology/developers/google-gemma-2/)が先日リリースされました。

>  2月に発表した「Gemma」は20億パラメータと70億パラメータの2サイズでの展開だったが、Gemma 2は90億パラメータと270億パラメータの2サイズ。
> 270億パラメータ版は、「そのサイズクラスで最高の性能を発揮し、2倍以上の規模のモデルに匹敵する性能を実現」するという。90億パラメータ版でも、[米Metaの「Llama

元記事を表示

bokehで時系列グラフを作成し指定した時系列の背景を塗る

## bokehとは
pythonでインタラクティブなグラフが作成できるライブラリです。

## 折れ線グラフを作成する

![スクリーンショット 2024-07-16 5.14.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398994/d017f154-38a1-459f-6781-1c0eda716b6e.png)

“`
# 必要なライブラリをインポート
from bokeh.plotting import figure, output_file, save
from bokeh.models import ColumnDataSource
import pandas as pd
from datetime import datetime

# データを準備
data = {
‘date’: [‘2024-07-01’, ‘2024-07-02’, ‘2024-07-03’, ‘2024-07-04’, ‘2024-07-05’],
‘value’: [6, 7, 2,

元記事を表示

Florence-2 使ってみた

## Florence-2

https://arxiv.org/abs/2311.06242?ref=blog.roboflow.com

https://huggingface.co/microsoft/Florence-2-large

Florence-2は、MicrosoftがMITライセンスオープンソースであるvision-languageモデルです。

様々なタスクが実行可能で、Task Promptは以下が選択可能だった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594896/0deb8505-2248-bdce-a68e-58f758c23cd7.png)

## Huggingface Demo

https://huggingface.co/spaces/gokaygokay/Florence-2

### サンプル1
【Object Detection】
Input:
![image1.jpg](https://qiita-image-store.s3.a

元記事を表示

AttributeError: module ‘wandb.proto.wandb_internal_pb2’ has no attribute ‘Result’

とあるライブラリを使用しようとしたときに以下のエラーに遭遇…。

“`AttributeError: module ‘wandb.proto.wandb_internal_pb2’ has no attribute ‘Result’“`

エラーが出たバージョン
|library|version|
|-|-|
|protobuf|3.20.3|
|wandb|0.15.3|

以下のバージョンに変更すると解決した。
|library|version|
|-|-|
|protobuf|3.20.1|
|wandb|0.16.6|

元記事を表示

Transparent Backgroundでの背景透過がいい感じだった!

背景透過ツールのTransparent Backgroundを使ってみたらなかなかいい感じだったので紹介です。

https://github.com/plemeri/transparent-background

## Install
Install from localで入れました。
“`sh
git clone https://github.com/plemeri/transparent-background.git
cd transparent-backbround
pip –extra-index-url https://download.pytorch.org/whl/cu118 install .
“`

## Command Line
私はCommand Lineからの使用で試してみました。

“`sh
# for apple silicon mps backend, use “PYTORCH_ENABLE_MPS_FALLBACK=1” before the command (requires torch >= 1.13)
$ transparent-ba

元記事を表示

【Raspberry Pi】LCD1602Aに長文表示機能を実装する

# はじめに
この記事は下記の記事で作成したプログラムをベースに改修を行いますので、先にご覧いただけますと幸いです!
– [【Raspberry Pi】I2CアダプターなしでLCD1602Aに文字を表示する](https://qiita.com/ShibesSaico0401/items/2087ea0c3c7891d225c4)

### ■成果物
・ラズパイ5でのLCD操作プログラム(長文表示機能付き)
↓こんな感じで表示ができます↓
![IMG_0812(2).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838080/c627fec2-1742-bafb-b975-20706ee7ad8e.gif)

# 動機
前回のLCD1602Aを操作する記事では以下の課題が残っていました。

1. ASCII以外の文字に対応する
2. write_four_bitsのEピン立ち上げ順序を修正
3. 長文の表示機能を追加
4. 部品モジュールとして使用する際の処理・API追加

このうち、今回は2,3を

元記事を表示

業務自動化の達人になろう:AutoHotkeyとPythonを使った5つの実践例

## はじめに

日々の繰り返し作業に疲れていませんか?本記事では、AutoHotkey(AHK)とPythonという2つの強力なツールを使って、単調な作業を簡単に自動化する方法を紹介します。初心者にも扱いやすい具体例を5つ挙げながら、業務効率化の第一歩を踏み出しましょう。

## AutoHotkeyとは

AutoHotkeyは、Windowsで動作する強力なスクリプト言語です。キーボードやマウスの操作を自動化したり、アプリケーションを制御したりすることができます。

### AutoHotkeyのインストール方法

1. [AutoHotkey公式サイト](https://www.autohotkey.com/)にアクセス
2. ダウンロードページからインストーラーをダウンロード
3. インストーラーを実行し、指示に従ってインストール

## Pythonとは

Pythonは読みやすく書きやすい汎用プログラミング言語で、業務自動化にも適しています。

### Pythonのセットアップ

1. [Python公式サイト](https://www.python.org/downl

元記事を表示

OTHERカテゴリの最新記事