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

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

pandasの基本と概要

## はじめに
pandasの基本と概要に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

## 🦁**結論**🦁
どういうものです。

:::note info
押さえておくべき点
* 標準ライブラリではないのでインストールが必要。
* Pythonでは表を使う場合にはほぼ「pandas」を用いる。
* いろんなファイルの読み込みが可能(HTMLも可能)
:::
***

:::note alert
注意点
* 大規模なデータセットを扱う場合、パフォーマンスとメモリ使用量に注意し、適切なデータ型を選択することが重要。
* Pandasは頻繁に更新されるため、新しいバージョンで非推奨になった機能や新機能をチェックが必要。
:::

***
# Installが必要なライブラリ。
“`py
pip install pandas
# もしくは pip3 install pandas
“`
***

## **pd.DataFrame()**

元記事を表示

Pythonを使ってOutlookのカレンダーに予定を追加する(9時間補正)

Pythonを使ってOutlookのカレンダーに予定を追加するとき、9時間ずれるの直せなかったので、

9時間の時間補正をしたメモ

Outlook デスクトップアプリです。

***

### Pythonを使ってOutlookのカレンダーに予定を追加する

#### 終日の予定を追加する例

まず、「野球」の予定として追加する例から始めましょう。ここでのポイントは、予定の開始時間に日本標準時(JST)から世界協定時(UTC)への9時間の補正を加えることです。

“`python
import win32com.client
import datetime

# Outlookのインスタンスを作成
outlook = win32com.client.Dispatch(“Outlook.Application”)
namespace = outlook.GetNamespace(“MAPI”)

# 予定表フォルダーを取得
calendar_folder = namespace.GetDefaultFolder(9) # 9はカレンダーフォルダー

# 追加したい日付のリスト
dat

元記事を表示

Windowsで自動的にごみ箱を空にする方法 (python&bat)

かぜひいてから、全てが面倒くさくなってきたので、自動化

***

***

### Windowsで自動的にごみ箱を空にする方法

Windowsを使っていると、時にはごみ箱が溜まってしまうことがあります。定期的にごみ箱を空にすることは、ディスクスペースを確保し、システムをスムーズに保つために役立ちます。このブログでは、Pythonスクリプトとバッチファイルを使用して、Windowsのスタートアップ時に自動的にごみ箱を空にする方法を紹介します。

#### Step 1: Pythonスクリプトの作成

まず、以下のPythonスクリプトを作成します。このスクリプトは、WindowsのAPIを呼び出してごみ箱を空にするものです。テキストエディタを開き、以下のコードをコピーしてください。

“`python
import ctypes

# ごみ箱を空にする関数
def empty_trash():
# SHEmptyRecycleBinを呼び出してごみ箱を空にする
# 0 = ごみ箱のハンドル, None = すべてのごみ箱, 0x0003 = フラグ(空にする+

元記事を表示

[Python] solanaのウォレットの残高を取得する

# SOLのウォレットの残高を取得してみた。

今回は、SOLの開発をpythonでちょこっとやってみようと思い、pythonから始めてみました。最近、tsとかgoとかいじってた人間のため、pythonを久々に書いたらちょっと違和感あったけど、なんとかかけました〜

### 対象ウォレット
検証用でメインネットにウォレットがあるので、それを使ってその残高を取得してみます。
“`
EDuVpfE29Rb7S9q1bM5Db8WwtqMAPbZb8bqrfNcNt24c
“`
https://explorer.solana.com/address/EDuVpfE29Rb7S9q1bM5Db8WwtqMAPbZb8bqrfNcNt24c

→ ウォレットを晒しただけでは、なにもできないので安心してください。(秘密鍵は公開しないよ!!)

![Screenshot 2024-02-24 at 13.59.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3556108/6e145c41-2495-6872

元記事を表示

ChatGPTを使いながらRPGゲームを作成する(その11)戦闘画面

### 目標
今回のゴール画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/576081/ba0dd3cf-f51a-8c97-a850-1d3064298599.png)

### やることリスト
* Playerのステータスを画面で表示する
* まほうを選択した時にDropUpメニューが出て、選択したメニューで処理ができること

### 重要ポイント
ステータスを画面の部分は静的な表示にしているので、kvファイルで作成
“`YML
BoxLayout:
orientation: ‘vertical’
size_hint_y: 0.15
pos_hint: {‘top’: 0.95, ‘x’: -0.4}

Label:
id: player_name
text: ‘ken’
font_size: 30
size: 50, 50
canvas.before:

元記事を表示

PDFにまとめた古い図面さん、各ページを分割、図番でファイル名とする (Tesseract OCR)

Tesseract OCR メモの続きです。

Tesseract OCR メモ

***

古い図面データをまとめてスキャナーでPDFにしたいときなど

例えば、右下の図面番号を拾って、各ページを分割、ファイル名にすることを想定しています。

***

# Pythonを使用したPDFからのテキスト抽出とページ別PDFの保存

## 導入

この記事では、Pythonを用いてPDFファイルから特定の領域のテキストを抽出し、そのテキストを基に新しいPDFファイルの名前を生成する方法を紹介します。この技術は、文書管理システムにおける自動ファイリングや、大量のPDFファイルを扱う際の作業効率化に役立ちます。

## 必要なツール

* **Python**: プログラミング言語
* **Tesseract OCR**: テキスト抽出のためのオープンソースOCRエンジン
* **PikePDF & PDF2Image**: PDFファイルの処理と画像変換に使用
* **Pillow (PIL)**

元記事を表示

【アロケーション戦略】ネットワークによる株価相関の可視化

# 株価の相関関係を可視化したい
※2022年6月時点の分析のため、分析期間や銘柄名などに違和感があるかと思われますがご容赦ください。

# 1. 目的
### 今回やりたいこと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2795675/215ffe98-4b33-08f9-0620-5f902052e571.png)
今回の分析では、株式1銘柄を点(以下ノード)、各銘柄間の相関を線(以下リンク)と見立て、**特定の市場全体の株価の相関関係をグラフ化したい**。このとき銘柄間のつながりをどう定義するか、がモデルの肝となる。今回は、「直接相関と間接相関」という2つ関係性の違いに着目しモデルを定義していきたい。
### 直接相関と間接相関を区別する
直接相関と間接相関を定性的に理解するには、以下の例がわかりやすい。
ある日の気温が高いとき、当然かき氷屋の売上が上がる。単純に考えると、気温が高くなるほど売り上げが増加する。この2つの関係性を「直接相関

Google Colabで韓国語を形態素解析

韓国語の勉強を始め、例文など集めていると、動詞の活用が不規則で困ります。たとえば「見た人」を意味する韓国語「온 사람」は、「見る 오다)」の語幹「오」に過去連体形を示す「ㄴ」が付いて「온」になるのですが、一文字の中で変化があるので検索しにくいですね。

というわけで日本語の形態素解析のように韓国語でも形態素解析できないか探してみました。

今回、試してみたのはkonlpyというライブラリ。このライブラリ自体はmecabを含む5つの[tag Package](https://konlpy.org/en/latest/api/konlpy.tag/)を選べるのですが、このうちkkmaがGoogle Colabでも動かせましたので、こちらを使っていくことにします。(他のパッケージは動かせませんでした。誰か動かせたという情報あれば教えてください)

https://konlpy.org/en/latest/

まず、関連パッケージをインストールします。ipywidgetsを入れておくと、入力する文字列をいちいちコードに貼らなくてもインタラクティブに入力できるので、おすすめです。

“`py

配列と連結リスト【Algorithm-Data構造入門Ⅱ】

## 配列
配列はデータを連続的に格納するデータ構造であり、インデックスを使用して要素にアクセスします。配列は任意の位置へのデータの読み書きが定数時間で行えますが、要素の追加や削除には全体の要素のシフトが必要であり、これによりO(n)の時間がかかります。

### Pythonでの配列操作例
“`python
# 配列の作成
arr = [1, 2, 3, 4, 5]

# 要素の追加
arr.append(6)

# 先頭に要素を追加(O(n)の時間がかかる)
arr.insert(0, 0)

# 先頭の要素を削除(O(n)の時間がかかる)
arr.pop(0)
“`

配列の操作メソッドについて詳しくはこちらをご覧下さい。

https://qiita.com/jay_42tokyo/items/56e01f01b39229bc5d5c

## 連結リスト
連結リストは、データとポインタを持つノードが連結しているデータ構造です。連結リストでは要素の追加や削除がO(1)の時間で行えますが、要素の探索にはポインタをたどる必要があり、これによりO(n)の時間がかかります。また、連結

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

## それ,numpy で書かない?–8–

ChatGPT 3.5 に書いてもらったプログラムが,リストおよびリスト内包表記を使うものだったので,書き換えをお願いした。

User
以下の julia プログラムをリファインしてください。
1. 実引数,仮引数には list ではなく,Numpy ndarray を使う。
1. 当然,関数内でも list および リスト内包表記は使わない。
1. ムダに長い変数名を使わない。10文字以内。

“`Python
def cross_product(v1, v2):
“””
Calculate the cross product of two vectors.
“””
x = v1[1] * v2[2] – v1[2] * v2[1]
y = v1[2] * v2[0] – v1[0] * v2[2]
z = v1[0] * v2[1] – v1[1] * v2[0]
return [x, y, z]

def line_plane_intersection(line_po

Pythonの基本⑥【タプル型のメソッド】

# タプルとは

Pythonのタプル(tuple)型は、複数の要素を順序付きで格納するためのデータ構造です。

タプルはリストとは異なり、**イミュータブル**(変更不可)な性質を持ちます。すなわち、**要素の追加や削除はできません**。

この記事では、Pythonにおけるよく使われるタプル型の操作メソッドについて紹介します。

## メソッド一覧
一覧とは言え、基本的に使用するメソッドは2つだけです。

`count()`: 指定した値と一致する要素の数を返します。
“`python
my_tuple = (1, 2, 2, 3, 3, 3)
count = my_tuple.count(3)
print(count) # Output: 3
“`

`index()`: 指定した値の最初の出現位置のインデックスを返します。
“`python
my_tuple = (1, 2, 3, 4, 5)
index = my_tuple.index(3)
print(index) # Output: 2
“`

## タプル型の使い道
1. データの保持
タプルはイミュータブ

初心者がよく使うOSモジュール一覧

## はじめに
初心者がよく使うOSモジュール一覧に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

## 🦁**結論**🦁
OSモジュールはPythonにてOS操作ができるモジュール。
ファイル、ディレクトリの操作(作成、削除、状態確認など)
環境変数の取得
などを行うことができる。

:::note info
押さえておくべき点
* パスを操作する際、os.pathモジュールの関数を使用し、OSに依存しないコードを書くことが重要。
* 例外処理を適切に行うことで、プログラムの安定性を高めることができる。
:::

***

:::note alert
注意点
* ファイルやディレクトリの所有者でない場合があり、特定の操作を行うための権限が制限されることがある。
* os.environで環境変数を扱う際は、存在しない変数へのアクセスがエラーを引き起こす可能性があることに注意が必要。
:::

***
# 関数一覧
## **os.path.exi

Twitchコメント連動アプリケーション

![CAEB_256x256.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638255/aecef305-906f-bdaf-a0c7-50c3daaf9ab0.png)

| | 内容 |
|:—-:|:————-|
| 1 | [概要](#概要) |
| 2 | [インストール方法](#インストール方法) |
| 3 | [使用方法](#使用方法) |
| 4 | [使用ライブラリ](#使用ライブラリ) |
| 5 | [コードの構造](#コードの構造) |
| 6 | [発展](#-発展) |

# 概要
`Twitch`配信のコメントを**リアルタイム**に取得し, 連動して**アクションを発生させる**アプリケーションです.
`Python`を用いたGUIソフトウェアとなっています.

# インストール方法
[こちら](http://qiita.com)の`Google Drive`からダウンロード可能です.
ダウンロードフォルダを解凍し, `CommentAcqui

実行例で理解する `Runnable` in `langchain`

## 概要

本記事は、`langchain` フレームワーク内の `Runnable` クラスに焦点を当て、その理解と活用を目的としています。`langchain` は、OpenAIやGeminiなどの一般的に知られている言語モデル(LLM)を使ったアプリケーション開発を支援するためのフレームワークであり、本記事では `Runnable` クラスの役割とそのメソッドの使い方に触れます。特に Runnableクラスが提供する標準的なインターフェース以外のメソッドについて実際のコード共に説明します。

本記事で触れている `Runnable` クラスのメソッド一覧

| メソッド | 概要 | ページ内リンク |
|—————————–|——————————————————–

スライドパズルの数理

![15puzzle_complete.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285861/05d1ccce-6372-fae2-1316-4e69da24a5ef.gif)

いずれ子供が大きくなればスライドパズルで遊ぶだろうから、そのときに舐められないようにスライドパズルの必勝法を書く。

ここでいうスライドパズルとは以下のようなもの。 8 パズルとか 15 パズルなどとも呼ばれる。

https://dora-world.com/games/slidepuzzle

具体的には **群論** を用いた理論的なアプローチと **A\* アルゴリズム**を用いた最適化のアプローチの 2 つについて説明する。

# 群論を使う

## 「そもそも、そのスライドパズルは完成させらるのか?」
一度思いつけばそれ以外のことを考えることが難しいほどに、スライドパズルは群論の良い example になっていた。ルービックキューブよりもわかりやすい。

群論の概念を用いると面白いのは **そもそもそのス

Bリーグの成績を分析したら有名選手は凄かった

## 背景
2023年の男子バスケットボールワールドカップ日本代表はパリオリンピック出場権を自力で獲得しました。
試合結果をニュースで知るだけでなく、試合観戦に関心が沸いた方も増え、日本バスケットボールは更なる盛り上がりを見せております。
このようなことを踏まえ、B1リーグの成績詳細より、スタッツを一括取得し、
どの選手がすごいかデータ分析というアプローチで把握するというのがこの記事のゴールとなります。

## 前提
以下条件で、取得します。
* B1リーグの成績詳細サイトから取得(※とても参考になりました…感謝を申し上げます)
(参考:https://note.com/wabisuke94/n/nabc9bc89ec84)
* 取得結果をデータベース(SQLite3)に保存
* pythonモジュールであるdjangoとmatplotlib、Pandasを使用
* 実行環境はgoogle colaboratoryを利用

## やること
以下のスタッツを取得します。
* bリーグの公式戦成績(2020~2024現在までの試合結果※CSは除外とします。)
* 得点、アシスト成功数、3ポ

VOICEVOX API (エンジン)にHTTPリクエストをするための手引書

## はじめに

VOICEVOXを使った音声合成を、エディターを使わずにHTTPリクエストを用いて行うための手引書です。
以下の章立てで解説をしていきます。

1. VOICEVOXのHTTPサーバー機能について
2. サーバーに投げるクエリの内容とその投げ方
3. wavファイルの保存の仕方
4. (おまけ) VOICEVOXエンジンAPIドキュメントの読み方とAPIの使い方
5. (おまけ)エディターを起動せずにエンジンを起動する方法
6. (おまけ)HTTPリクエストを使わずに音声を合成するVOICEVOX COREの紹介
7. 音声合成のPythonサンプルコード

## 1. VOICEVOXのHTTPサーバー機能について

VOICEVOXにはGUIを使う他にも音声を合成する方法があり、その1つがHTTPリクエストを使用する方法です。
VOICEVOXは大まかに分割するとエディターとエンジンとコアという3つのモジュールが組み合わさってできています。エディターはVOICEVOXアプリケーションのGUI部分、エンジンはHTTPサーバー(音声合成のリクエストなどを受け取

WindowsでDockerを使ってみた。

## 内容
・趣旨内容
・環境構築
・WSLインストール
・VSCodeの拡張機能をインストール
・VSCodeを使用して、コンテナ上にPythonでの開発環境を構築

## 趣旨目標
手を動かすことを主として学習!内容に特に意味はなし!(^^;
Windowsに翻弄されている方がいれば、少しでも手助けになれれば幸いです(-_-;)

## 環境構築
windows11,WSL,ubuntu,VSCode,Docker,Python

## WSLインストール
・WSLインストール(初回の場合)
https://learn.microsoft.com/ja-jp/windows/wsl/install
“`
wsl –install
“`
インストール後、PC再起動、初期設定が開始される。

・一度アンインストールしたものの、自然と復活するらしく、2回目以降の方⇒
Microsoftstoreから、ubuntuをインストール。
インストールされているか確認
“`
wsl –list –verbose
“`

・これでもなおWSLが使用できない場合⇒
https:

CausalML Bookについてまとめてみた

### 初めに
最近X(旧Twitter)で「CausalMLBook」(V. Chernozhukov, C. Hansen, N. Kallus, M. Spindler, V. Syrgkanis)1)という本が話題?になっています。そこで、この本とそれに関連するウェブサイトについて、概要の説明や、率直な感想を述べたいと思います。
Webサイトの最初にこのように書かれています。
>The book introduces ideas from classical structural equation models (SEMs) and their modern AI equivalent, directed acyclical graphs (DAGs) and structural causal models (SCMs), and presents Double/Debiased Machine Learning methods to do inference in such models using modern predictive tools.
>

Amazon Connectで架電システム(プロトタイプ)構築

## 目的
* 監視活動(自動による架電)に必要な経費の削減

## 経緯
* 障害発生時に監視システムから発報したアラートをハンドリングし、緊急性の高いアラートは自動でシステム管理責任者へ架電する仕組みは、数年前から稼働していたものの、年間費用が非常に高額(年間数十万円)である事と、制約が多い(特定の文言でなければトリガーが機能しないなど)ため、代替できるサービスを探していたが、なかなか見つからなかった。
* awsでAmazon Connectというサービスが開始となり、これを導入したとする話題を、ネット上で時折みかけるようになった。費用面でもかなり安く(年間1,500円くらい)、導入コストもかなり低いように見受けられた。

## 方針
* サンプルコードなどをベースにプロトタイプ版を構築し、経費削減案として会社に提案することとした。
##### 参考
https://zenn.dev/t_kakei/articles/700348ed161a49

:::note info
今回のプロトタイプ環境が構築できれば、それをベースに、管理画面をウェブアプリで作るなどして、現場に適合する