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

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

教科「情報」でChromebookとPythonとVSCodeとJupyter Notebook

## 0. はじめに
高校でChromebookを使って、プログラミング教育を行うための環境構築手順をシミュレーションしてみました。

## 1. Linuxを有効化
1. 設定アプリで、次の手順で有効化する。
「ChromeOSについて」→「Linux 開発環境」→[設定]→「Linux 開発環境をセットアップする」→[次へ]→ユーザー名を設定→[インストール]→ターミナルが開く
1. 日本語入力のための設定は必要ない

## 2. フォントとモジュールのインストール
1. 開いたターミナルで、まずは
“`bash
sudo apt update && sudo apt upgrade -y
“`
1. VSCodeを日本語化したとき、メニューがぼやけるので、きれいな日本語フォントをインストールする
“`bash
sudo apt install fonts-noto-cjk -y
“`
1. 仮想環境を作りパッケージをインストールしたいので、venvをインストールする
“`bash
sudo apt install p

元記事を表示

concurrent.futuresでLockの使い方

# concurrent.futuresでLockの使い方

### **Lockとは?**

– **Lock** は、複数のスレッドやプロセスが同時に共有変数やリソースにアクセスする際に、そのアクセスを制御するための仕組みです。
– Lockを使うことで、**データの整合性** を守ることができます。これにより、複数のスレッドが同時に変数を変更してしまう「競合状態(race condition)」を防ぐことができます。

### **例題 1: `import threading` を使った Lock の利用**

まず、`import threading` を使って Lock を導入する例を見てみましょう。

#### **コード: import threading を使う例**

“`python
from threading import Thread, Lock
import time

database_value = 0

def increase(lock):
global database_value

with lock :

元記事を表示

【Atcoder解法検討】ABC304 A~E Python

## A – First Player
#### 問題ページ : [A – First Player](https://atcoder.jp/contests/abc130/tasks/abc304_a)
### 考察
円環の取り扱いは$%$(割った余り)を利用する。
### コード
“`python
N = int(input())
S = []
A = []
age_min = 10 ** 10
youngest = -1
for i in range(N):
s, a = input().split()
S.append(s)
if int(a) < age_min: youngest = i age_min = int(a) for i in range(N): idx = (i + youngest) % N print(S[idx]) ``` ## B - Subscribers #### 問題ページ : [B - Subscribers](https://atcoder.jp/contests

元記事を表示

pythonを用いたk-hop Clusteringの実装・解析

# k-hop Clustering手法の要点

## 🎯 概要
k-hop Clusteringは、ネットワークグラフのクラスタリング手法で、指定した距離(k)内のノードをまとめてクラスタ化します。

## 🔑 主な特徴

### 基本概念
– **1-hop**: 直接つながるノードをグループ化
例)A → B, C, D
– **2-hop**: 2段階までのつながりを含む

### 処理ステップ
1. クラスタ抽出
2. 不要クラスタの除去
3. 重複の排除

## 💻 実装のエッセンス

### コアとなる処理
“`python
subgraph = nx.ego_graph(G, query, radius = radius_value)
“`
NetworkXライブラリを使用した効率的な実装

### データ管理の工夫
– 段階的なクラスタ抽出
– 重複の自動検出・除去
– 一時ファイルの効率的管理

## 📊 メリットと課題

### メリット
– 自然なクラスタリング
– 遠距離の関係性も検出
– 簡単な制御

### 課題
– 類似クラスタの判定精度
– 処

元記事を表示

初心者向け:PyTorch を使った感情分析

# 初心者向け:PyTorch を使った感情分析

## はじめに

はじめまして。私は大学院生です。

この記事では、[scikit-learn](https://scikit-learn.org) や [Transformers](https://huggingface.co/docs/transformers/main) を使わずに、[PyTorch](https://pytorch.org/) のみで感情分析を行います。(主に、研究室の後輩向けに書いていますので、極力簡素化しています。そのため、普段使うことが多い [Transformers の Tokenizer](https://huggingface.co/docs/transformers/main_classes/tokenizer) やモデルとは大きく異なります。ご了承ください。)

この記事が、「PyTorch と自然言語処理の学習に役立った」と思っていただけるように書かさせていただきます。

より簡素化できる案などがあれば[コメント](#comments)をしていただけると幸いです。

### 事前準備

元記事を表示

【Python】AviUtl向けカラオケ字幕作成ソフトを開発【ソースコードあり】

# はじめに

今回は、AviUtlで後から編集が可能な自作カラオケ字幕作成ソフト「LRC2EXO-Python」を紹介します。
2024/10/19以降、私が運営するYouTubeチャンネルの動画に現役で利用しています。

https://github.com/keisuke-okb/lrc2exo-python

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1373557/d1d403e0-2414-5a7a-4926-e7ca354c8ce4.png)

### 注意事項

– ソフトウェアのソースコードは、ライセンスに基づき自由にお使いいただけます。
– 当ソフトウェアを使って(改良した場合を含みます)制作した動画は、動画配信プラットフォームにアップロードすることができますが、**利用したソフトとして「LRC2EXO-Python」を動画の説明欄などに記載をお願いいたします。**

# コンセプト
以下のようなコンセプトでソフトウェアを開発しました。

– タイムタグ付きの

元記事を表示

Process PoolExecutorの基本の使い方

### **並行処理(Concurrency)とは?**

並行処理とは、コンピュータが複数の作業を同時に実行することです。例えば、ゲームをしながら音楽を聴くことができるのは、コンピュータが同時に複数の処理をこなしているからです。

### **マルチスレッドとマルチプロセスの違い**

– **マルチスレッド**: 1つのプログラム内で複数のスレッドが同時に動きます。スレッドはメモリを共有し、データをやり取りしやすいですが、1つのCPUしか使えません。
– **マルチプロセス**: プログラムを複数のプロセスに分けて並列に実行します。プロセスは独立して動き、複数のCPUを利用できるため、より多くの計算を同時に行えます。ただし、プロセス間でのデータのやり取りはスレッドより難しくなります。

![python_august_info.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/bd36b40b-d74d-eab9-21fb-34a372141861.png)

https://blog.

元記事を表示

Python ThreadPoolExecutorの基本

### 1. **`ThreadPoolExecutor` の基本の使い方**

まずは、`ThreadPoolExecutor` を使って複数のスレッドを同時に動かす基本的な方法を見てみましょう。

![4_01_ThreadDiagram.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/8a03ddc7-a45e-a3c3-e665-1045d6860da5.jpeg)

**Figure – Single-threaded and multithreaded processes**

https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html

#### **例: 基本の使い方**

“`python
from concurrent.futures import ThreadPoolExecutor
import time

def func_1():
for n in range(

元記事を表示

【Django】008. Managerクラスによるレコードの取得

前回までで、モデル/テーブルの作成、管理画面でのテーブルのダミーデータ作成を行いました。

[前回記事:【Django】007. 管理ツール+管理画面でのデータベースCRUD](https://qiita.com/ys_dirard/items/70d90727de3e70c32c6a)

今回はDjangoのアプリケーションからManagerクラスを利用してデータベースを利用していきます。(今回はレコードの取得)

## Managerクラスとは?

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

> マネージャ (Manager) とは、Django のモデルに対するデータベースクエリの操作を提供するインターフェイスです。Django アプリケーション内の1つのモデルに対して、Manager は最低でも1つは存在します。
>
> Manager クラスの詳細については、クエリを作成する に書かれています。ここでは、特に、Manager の動作をカスタマイズするモデルのオプションについて説明しています。

https://docs.djangoproject.com/ja/

元記事を表示

FlaskとElectronで麻雀リアルタイムシミュレーターを作っていく記録①

学校の授業の課題で個人製作をすることになり、私は「麻雀リアルタイムシミュレーター」を作成することにしました。

FlaskとElectronでデスクトップアプリとして作り、皆さんご存じの方も多いことでしょう麻雀ゲーム「雀魂」。こちらのウィンドウ画面をリアルタイムでキャプチャして、画面の対戦情報から現在切る牌をシミュレーションしてくれる機能を備えようと思います。
この記事はそんなデスクトップアプリを作る過程を記述していこうと思います。

作成したソースコードは一応[こちら](https://github.com/mshok0511/mahjong-realtime-simulator-app)に公開していますが、現時点(2024/10/25時点)での完成度は形だけギリギリ整っているだけのポンコツなので、大目に見てくれると嬉しいです。これからちゃんと完成していくので、お許しください…。

※このように自分で作ってみたプログラムを公開し、記事にして投稿するのは初めてなので、何かアドバイスやソースコードの書き方、質問などがあればたくさんほしいので、ぜひコメントをお願いします。
# 環境構築

元記事を表示

【Cコード解析】コード整形まとめ(備忘録)

## 今まで書いた記事を1つのスクリプトにまとめる。
下記の記事で実践したことをまとめる。

https://qiita.com/name_ko/items/207693c45bc5bf282b36

https://qiita.com/name_ko/items/a2514c8ff16d5c8be18c

https://qiita.com/name_ko/items/b336f1b5fc495f1ab377

https://qiita.com/name_ko/items/c014fd67bd6d146a73cd

https://qiita.com/name_ko/items/8e92f24576a75d39a8eb

## スクリプト
“` python:main.py
import os
import shutil

import service.config as config
import service.anti_multiple_variable_declaration as AMVD
import service.anti_unused_variable as A

元記事を表示

UbuntuでPythonからRabbitMQを使って異なる物理サーバーに非同期的にメッセージを送信する

下は送受信するサーバー両方で実行。24.04と22.02で異なるため注意

“`Ubuntu 24.04の場合.bash
echo ‘deb https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu noble main’ | sudo tee /etc/apt/sources.list.d/rabbitmq.list
# GPGキーを/etc/apt/keyrings/ディレクトリにダウンロード
curl -1sLf “https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key” | sudo gpg –dearmor -o /etc/apt/keyrings/rabbitmq-erlang.gpg

# リポジトリの設定を追加
echo “deb [signed-by=/etc/apt/keyrings/rabbitmq-erlang.gpg] https://dl.cloudsmith.io/pu

元記事を表示

Pythonでクラスを理解しよう

Pythonでクラスを理解し、使いこなせるようになると、コードの構造化や再利用がしやすくなり、複雑なシステムの設計や管理が簡単になります!今回は、そんな難しいクラスについて説明します

# はじめに

HI Engineer Collegeでは、実務未経験のエンジニアの方や、エンジニアに興味がある方を募集したおります、まずはお気軽にお問い合わせください。

※ (株)G&T(【内々定まで最短2週間】ゼロからしっかりじっくり研修☆20代活躍中!)

TOP

※ HI Engineer Collegeに興味あがある方はこちら(プログラミングを学習したい方)

HOME

※ ※ プログラミングでわからない事などを相談したい場合にはLINEオープンチャットにご参加ください(無料)

https://line.me/ti/g2/xRolADFbfopNo4vdgA9hmAlAlMgxvaIUSNDx8A?utm_source=invitation&utm_medium=link_copy&utm_camp

元記事を表示

NASDAQ指数とビットコインのPythonコードによる価格相関分析

## はじめに
近年、ビットコインと従来の金融市場との関連性が注目を集めています。特に、テクノロジー株の代表的な指標であるNASDAQ指数との関係性は、多くの投資家や研究者の関心事となっています。本記事では、2022年12月から2024年10月までのデータを用いて、両者の関係性を詳細に分析していきます。

## 環境設定
本分析で使用する主なライブラリとバージョンは以下の通りです:

“`python
import numpy as np # version 1.21.0
import pandas as pd # version 1.3.0
import matplotlib.pyplot as plt # version 3.4.2
import statsmodels.api as sm # version 0.12.2
“`

## データの準備と前処理
データは MongoDB から取得していますが、以下のコードでは一般的なデータフレーム操作に焦点を当てています:

“`python
# 日付をdatetime型に

元記事を表示

FASTAファイルの制御文字(”^A”)連結問題を解決するPythonプログラムの実装と解説

## 問題の発見
バイオインフォマティクス解析の現場で、奇妙な現象に遭遇したことはありませんか?今回は、FASTAファイルで発見された不可解な`^A`文字の謎に迫ります。

## 問題の本質
– 一見何気ない`^A`文字が、ASCII制御コード1(SOH)として保存
– 複数のエントリーを不適切に連結
– BLASTによる配列解析が正しく機能せず

## 解決への道筋
### 開発された2つのPythonスクリプト
1. **制御文字変換スクリプト**
– 不適切な制御文字を適切な形式に変換

2. **FASTAエントリー分割スクリプト**
– 連結されたエントリーを正しく分割

## さらなる探求へ
続きを読めば、以下の疑問が明らかになります:
– 制御文字の正体とは?
– なぜデータ解析に影響を与えるのか?
– 具体的な解決方法の詳細は?

関連するコードやより詳しい技術的な解説は、以下の記事でご確認ください。

https://zenn.dev/d_treasure0712/articles/4ac9b5aec4cf02


*この記事は、バイオインフ

元記事を表示

Singly linked list (単純連結リスト)

LeetCode で初見の下記の表記にビビって扱いの理解に数時間かかったがどうもしっくりこない。

“`
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
“`

https://leetcode.com/explore/learn/card/the-leetcode-beginners-guide/692/challenge-problems/4426/

このチュートリアルの動画がとても詳しく説明してくれていて初心者にためになる。
10分で理解できるのでこれを見るべし。

元記事を表示

Pythonでビットコインとドルインデックスの相関関係を分析してみた

## はじめに
ビットコインと米ドルインデックスの関係について、「逆相関の関係にある」という説が市場で広く知られています。今回は実際のデータを使って、この説が本当に正しいのか検証してみました。

## 環境とデータ収集
今回は以下のデータと環境で分析を実施しました:

### 使用データ
– 期間:2022年12月1日~2024年10月20日
– データ頻度:1時間足
– 対象:
– ビットコイン価格
– 米ドルインデックス

### 使用したPythonライブラリ
“`python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
“`

## データ準備と前処理のコード解説

### 1. 基本的なデータ構造の設定
“`python
# 日付範囲の設定
start_date = datetime.datetime(2022, 12, 1, 0, 0, 0)
end_date = datetime.datetime(2024, 10, 20, 0, 0, 0)
date_r

元記事を表示

Python初心者向け:Djangoでローカル開発環境を構築するためのステップバイステップガイド

## はじめに
Djangoは、高速なWeb開発を可能にするフレームワークとして非常に人気があります。

この記事では、Djangoプロジェクトを簡単に作成し、localhostでアクセスできるようにする手順を詳しく説明します。

以前、ITスクールのハッカソンに参加した際に「Flask」を使ってWebアプリケーションを作成しましたが、今回は「Django」に初挑戦するため、自分への備忘録としても記録を残します。

## 知識整理
Djangoは、以下のような特長を持つフレームワークです。

:::note
**・MVCアーキテクチャ**: モデル(Model)、ビュー(View)、コントローラー(Controller)の役割を分離し、開発を効率化します。

**・豊富な機能**: 認証、管理パネル、データベース管理など、多くの機能が組み込まれています。
拡張性: プラグインやパッケージを利用することで、機能を簡単に追加できます。
:::

詳細に知りたい方は関連記事も参考にしてみてください。

https://udemy.benesse.co.jp/development/syste

元記事を表示

[ABC376] ABC 376(Atcoder Beginner Contest)のA~D(A,B,C,D)問題をPythonで解説(復習)

# [ABC376] ABC 376(Atcoder Beginner Contest)のA~D(A,B,C,D)問題をPythonで解説(復習)

# A問題
– 飴玉を前回もらったタイミングを `a` という変数で管理する.
– 前回もらった時は遠い過去 `-float(“inf”)` とする.
– 飴玉がもらえるかどうかをシミュレーションすれば良い.
“`A.py
“””
<方針>
– 飴玉を前回もらったタイミングを `a` という変数で管理する.
– 前回もらった時は遠い過去 `-float(“inf”)` とする.
– 飴玉がもらえるかどうかをシミュレーションすれば良い.
“””
# 入力
N, C = map(int, input().split())
T = list(map(int, input().split()))

# 飴玉を何個もらえたか.
ans = 0
# 前回飴玉をもらったタイミング
a = -float(“inf”)
# シミュレーション
for t in T:
# 飴玉もらえる時
if(t-a>=C):
# 飴玉もらえたタイミ

元記事を表示

AIモデルを構築して日経平均株価を予測してみた

今回は **LSTM(Long Short-Term Memory)** というAIの機械学習モデルを使って、シンプルに2023年〜2024年の日経平均株価の終値を予測してみました。
正直、LSTMモデルとか聞くと「難しそう…」って感じるかもしれませんが、今回は細かい理論や数式は置いといて、「とりあえずこんな感じでAIモデルで株価予測ってできるんだ!」っていう雰囲気を紹介します。

## 本記事のターゲット

– 機械学習に関する基礎的な知識がなんとなくあるくらいの機械学習初心者(pandasやnumpyなど基礎知識は解説しません)
– 時系列データでの予測に興味があるけど、LSTMを使った分析はまだやったことがない人
– 株価データや金融データなど未来予測に興味がある人
– これからデータ分析を学習したくて、とりあえずは機械学習の雰囲気を感じてみたい人

※今回は特徴量エンジニアリングなどは行わずなるべくシンプルなモデルにしてるので、ある程度機械学習やっているKagglerなどは物足りないと思います

## 最終ゴール

2010年から2022年までの日経平均株価

元記事を表示

OTHERカテゴリの最新記事