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

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

エンディアン(Endianness)とは何か?

## はじめに

エンディアン(Endianness)とは、コンピュータシステムが複数バイトで構成されるデータをメモリにどのように配置するかを表す概念です。この概念は、特にネットワークプログラミングやデータフォーマットの理解において非常に重要です。

## エンディアンの種類

エンディアンには主に2種類あります。

### ビッグエンディアン(Big-endian)

ビッグエンディアンでは、最上位バイト(Most Significant Byte, MSB)が最初に来ます。つまり、バイト順序は左から右に向かって降順に配置されます。

– 例:32ビットの数値`0x12345678`をビッグエンディアンでメモリに配置すると、次のようになります:

“`
アドレス: 0 1 2 3
内容: 12 34 56 78
“`

### リトルエンディアン(Little-endian)

リトルエンディアンでは、最下位バイト(Least Significant Byte, LSB)が最初に来ます。つまり、バイト順序は左から右に向かって昇順に配置されます。

– 例

元記事を表示

【Python】JSON logger formatter

# やりたいこと
– Loggerクラスを定義してそれを他のクラスから呼び出して使う
– JSONフォーマット
– `message`以外に常に紐づけておきたい動的パラメータ、`shopId`と`itemId`も入れたい

“`python:JsonFormatter.py
import logging
import datetime
from pytz import timezone
from pythonjsonlogger import jsonlogger

class JsonFormatter(jsonlogger.JsonFormatter):

def parse(self):
return [
‘timestamp’,
‘level’,
‘name’,
‘class’,
‘shopId’,
‘itemId’,
‘message’,
]

shop

元記事を表示

python3.12へバージョンアップしたところ「japanize_matplotlib 」でModuleNotFoundError発生。原因と対処

# 環境
macOS ventura 13.2
Python 3.12.4
japanize-matplotlib 1.1.3(pip)
# Errorの内容
“`python
Traceback (most recent call last):
File “/Users/myname/Library/Mobile Documents/com~apple~CloudDocs/_program_ver3124/年金関連/main.py”, line 3, in
import japanize_matplotlib #日本語化モジュール
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/Users/myname/.pyenv/versions/3.12.4/lib/python3.12/site-packages/japanize_matplotlib/__init__.py”, line 1, in
from japanize_matplotlib.japanize_matplotlib import

元記事を表示

ABC363(Atcoder Beginner Contest)のA~E(A,B,C,D,E)問題をPythonで解説(復習)

# ABC363(Atcoder Beginner Contest)のA~E(A,B,C,D,E)問題をPythonで解説(復習)

# A問題
– `R` とある数を足して,下2桁を `00` にすれば,レートは上がったと考えて良い.
– つまり, `100` から `R` を `100` で割った余り(`R%100`)を引いたものが答えとなる.
“`A.py
“””
<方針>
– `R` とある数を足して,下2桁を `00` にすれば,レートは上がったと考えて良い.
– つまり, `100` から `R` を `100` で割った余り(`R%100`)を引いたものが答えとなる.
“””
# 標準入力からRを受け取る.
R = int(input())

# 100で割った余り
reminder = R%100

# 100から余りを引く
ans = 100 – reminder

# 答えを出力する
print(ans)
“`

# B問題
– 日付を経過させて,シミュレーションすれば答えが出る.
– 日数 `i` が経過したとみなす.
– その時,髪の長さが `l+i` とな

元記事を表示

写真から超リアルな3D空間をどうやって復元するか? 「3D Gaussian Splatting」学習の徹底解説

# はじめに

前回の[「画像生成の記事」](https://qiita.com/scomup/items/d5790da25a846e645de1)で「3D Gaussian Splatting」による画像生成技術について解説しましたが、ご覧になりましたでしょうか。この「3D Gaussian Splatting」は学習済みの3D Gaussianモデルを用いて、任意の視点から実写に近い超リアルな画像を生成できるすごい技術です。画像の高品質だけでなく、明示的な3D表現によって環境を詳細に表現しており、多様な分野での応用が期待され、高い注目を集めています。

ただし、前回の記事では、画像生成の入力となる3D Gaussianをどのように学習するのかについては触れませんでした。これは「3D Gaussian Splatting」技術の中核であり、最も難しい部分です。今回は、学習プロセスについても徹底的に解説しようと思います。

# 「3D Gaussian Splatting」の学習

:::note info
「学習」と聞くと、多くの方はニューラルネットワークを使ったディープラーニング

元記事を表示

Djangoでスクレイピングをする

# はじめに

こんにちは、エンジニアのkeitaMaxです。

前回、Djangoの環境をDockerで構築して、カスタムコマンドと定期実行を作成しました。

今回は、カスタムコマンドを使ってスクレイピングをしたいと思います。

前回の記事

https://qiita.com/keitaMax/items/d30d2ba23ae5e7d7a65c

# コマンドの作成

`scraping`というコマンドを新しく作成しました。

“`py:scraping.py
from django.core.management.base import BaseCommand

class Command(BaseCommand):

def handle(self, *args, **options):
print(“scraping”)
“`

カスタムコマンド作成については前の記事をご覧ください。

https://qiita.com/keitaMax/items/c898d0364cd153f90e9d

# スクレイピングの作成

### ライブラリインス

元記事を表示

超難問!more-itertoolsクイズ

Pythonのサードパーティのモジュールである`more-itertools`(バージョン10.3.0)の**クイズ**を作成しました。
下記から試せます。

https://forms.gle/4jGifHXSeg3Nuvbs7

全10問の四択問題です。
かなり難しいと思います。

more-itertoolsについては、下記を参照してください。

https://more-itertools.readthedocs.io/

https://qiita.com/SaitoTsutomu/items/ddb5076ef62745f03b56

more-itertoolsについて興味を持ってもらえれば幸いです。

元記事を表示

主成分分析と因子分析でのbiplotの作り方

R言語ではbiplotが関数としてありますがPythonではコーディングしないとできません。
そこでR言語と同じようなbiplotの作り方を紹介します。

# ライブラリのインポート
## 共通のライブラリ
“`Python3
from sklearn.preprocessing import StandardScaler
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
“`
## 次元圧縮ライブラリ
“`Python
from sklearn.decomposition import PCA #主成分分析
from sklearn.decomposition import FactorAnalysis as FA #因子分析
“`
# データの読み込み
“`Python3
df = pd.read_csv(“wine.csv”)
“`
## 説明変数と目的変数を分離
教師ありの場合などは圧縮後に色を付けると構造が分かりやすくなります。
“`Python3
y = df[“Win

元記事を表示

ITの最新トレンドをAIがまとめてくれるWebアプリを作ってみた

## はじめに

みなさん日々の情報収集はどのように行われていますでしょうか。
私はQiitaを始め、Zennやはてなブックマークなどを巡回してトレンド記事を見るのが日課になっています。
しばらく続けていると、最近ずっと話題になってるなーとか、急に出てきたこれは何だ、というような気づきがあります。
そういったことをAIにやらせてみたら面白いんじゃないかと思い、トレンドになっている記事のタイトルからキーワードを抽出して整理し、コメントを添えるWebアプリを作ってみました。

## 作ったもの
Tech Trend Words

https://tech-trend-words.fly.dev/

※毎日ツイートもしますので是非フォローをお願いします!
http://x.com/wordstech59132

## 主な機能

### トレンドワードの表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649608/54b11d32-c1d4-164f-7600-cf70144f3457.

元記事を表示

【初学者 / Python】コンテンツベースフィルタリングで行う音楽のレコメンドシステムの作成

2024年3月からAidemy Premiumというオンライン学習サービスのデータ分析講座と自主学習を通じて、Pythonを用いた機械学習やデータ分析を中心にPythonでできることを幅広く学んでいる Yuudai と申します。

本稿はAidemy Premiumのカリキュラムの一環で、受講修了条件を満たすために公開しています。

# はじめに
現代のデジタル音楽市場において、音楽推薦システムはユーザー体験を向上させる重要な役割を果たしています。SpotifyやApple Musicなどのストリーミングサービスは、ユーザーが好む楽曲を効果的に推薦することで、多くのユーザーに利用されています。

本記事では、Spotify APIを使用して楽曲データを取得し、機械学習アルゴリズムを用いた音楽推薦システムの構築方法を説明します。具体的には、データの取得、前処理、モデルのトレーニングと評価、そしてユーザーインターフェースの作成までの手順を解説します。

本記事は、データサイエンティスト、機械学習エンジニア、プログラミングに興味がある方、また私と同じくPythonの学習を始めた方へ何らかの

元記事を表示

【Kaggle】「学業成績データセットによる分類コンペ」Goldメダルコードからの学び

# 1. 本投稿の目的
– データ分析・機械学習の学習を実ビジネスに落とし込む練習のため
– 様々なライブラリ・コードに触れ、引き出しを増やすため

# 2. 今回取り扱うKaggleコンペテーマ
## 2-1.コンペの概要
テーマ:**Classification with an Academic Success Dataset**
和訳すると、「学業成績データセットによる分類」

2024年の Kaggle Playground シリーズの1つです。
Kaggle Playground とは、Kaggleの運営サイドが私のような機械学習を学習中の人に向けて提供している、機械学習スキルを練習するための興味深く取り組みやすいデータセットです。

このコンペの目標は、「高等教育を受ける学生の学業リスクを予測すること」です。

https://www.kaggle.com/competitions/playground-series-s4e6/overview

35個の説明変数があり、目的変数は「Target」です。
Targetには「Graduate:卒業」「Dropout:中退

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その100 再帰呼び出しによる繰り返し処理の性質

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/db7cfe4a1f14d9cb9368

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/100/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/100/ai.py) | AI に関する関数 |
| [util.py](https://github.com/ysgeso/marubatsu/blob/master/100/util.py) | ユーティリティ関数の定義。現在は `gui_pl

元記事を表示

新人エンジニアのFlask挑戦:Flask開発の基礎知識

# はじめに
Flaskは、Pythonで開発された軽量なWebフレームワークであり、シンプルでありながら非常に強力な機能を備えています。本記事では、Flaskを用いて基本的なWebアプリケーションを作成する方法を紹介します。

まず、Flaskの導入から始め、次にいくつかの基本的な機能の実装方法について説明します。最後に、実際にページを作成し、ブラウザ上で動作させる手順を示します。これにより、Flaskを使ったWeb開発の基礎を理解し、自分自身のプロジェクトに応用できるようになることを目指します。

# 実装(Ubuntu)
## 仮想環境の作成

https://qiita.com/shun_sakamoto/items/7944d0ac4d30edf91fde

pythonで独立した仮想環境を作製することで、異なるプロジェクトがお互いに影響を与えないようにします。
今回は、venvで仮想環境を作成します。
“`
python3 -m venv flask
source flask/bin/activate
“`

上記のコマンドで`flask`という名前の仮想環境を作製し、

元記事を表示

PythonでmicroCMSのエンドポイントにリクエストを投げる

# はじめに
個人ブログに記事を投稿するプログラムをPythonで作っていたのですが、microCMSで作成したスキーマにリクエストを投げるプログラムの作成に少し時間がかかったので、備忘録も兼ねて投稿します。

# microCMSのエンドポイントにリクエストを投げるクラス
今回は、classesフォルダにrequest.pyというファイルを格納しているものとします。
“`classes/request.py
import requests as req
import json

class Request:
def __init__(self, url):
self.headers = {
‘X-MICROCMS-API-KEY’: ‘xxxxxxxxxxxxxxxxx’,
‘Content-Type’: ‘application/json’
}
self.url = url

def get(self):
res = req.get(self.url,

元記事を表示

ibis-frameworkでPolarsとSQLをつかってみた

最近ibis-frameworkというデータ処理のライブラリを見つけました。
1つのAPIで20以上のバックエンドに対応し、接続先のバックエンドと同じくらい優れたパフォーマンスと、一貫したユーザーエクスペリエンスを実現するよう開発されているそうです。
公式サイトの画像を見ると、pandasやBigqueryなど馴染みのあるものから、最近よく聞くようになったPolarsやSnowflake、その他初めて聞くものもあり幅広く対応しているようです。

![newplot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1127172/ea649b6e-abc4-a1d8-382d-2f5a719b6ced.png)
https://ibis-project.org/

## やりたいこと
1. Ibisをつかったデータ加工を実際にやってみる
1. pandas / Polarsそのままでの処理と、IbisのPolarsバックエンドでの処理の実行時間を比較する
1. SQLも利用できるっぽいので試してみる

Go

元記事を表示

ボールが落ちてくるやつ

[ソフトバンクの料金詳細](https://www.softbank.jp/sbnews/entry/20230315_03)のボールが落ちてくるやつオシャレじゃん!ていうやつです。

##  成果物

![Videotogif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3724119/1c1c91e8-2cb2-8db4-8bbf-314a0bc4c1f9.gif)

必要なもの
“`
pip install pygame
pip install pymunk

“`

pygameはデフォルトだと日本語のテキストを出力できないので別途作業が必要です。
コードを動かすディレクトリに使いたいフォントを入れてください。
今回は[ipaexg](https://moji.or.jp/ipafont/ipafontdownload/) を使いました。
サンプルの10行目あたりの
font = pygame.font.Font(‘ipaexg.ttf’, 50)で設定しています。

大枠は一昔前に

元記事を表示

正方形と内接する円と長方形「高校入試チャレンジ問題 円Oの面積は?」をsympyとFreeCADでやってみたい。

・何も座標変換(回転)を使わなくてもです。sympyならではです。

# オリジナル
・YUUU0123 様 (0:00〜3:52)

# sympyで
**ver0.1  点Tの座標で連立方程式**
“`python
# ver0.1
from sympy import *
var(‘r,OTx,OTy’,real=True,poitive=True)
TDx,TDy=2,1
sol=solve([Eq(OTx+TDx,r),
Eq(OTy+TDy,r),
Eq(OTx**2+OTy**2,r**2)],[OTx,OTy,r])
print(“#”,sol)
print(“#”,pi*sol[1][2]**2)
# 25*pi
“`

**ver0.2 何も座標変換(回転)を使わなくてもです。**
・線分OSが回転して、線分OTになりました。点Tは、長方形TDのの左下と同じで方程式。
・座標変換は、点と点の関係。点と線の左右関係。相対座標?が、わかって楽です。
“`pyth

元記事を表示

CDK Aspectsでリソースのコンプライアンスチェックをしてみる (python)

# CDK Aspectsとは
[CDK Aspects](https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/aspects.html)とは、特定のスコープ内のconstructに対して、共通の操作を適用する方法です。

CDK Aspectsを利用することで、簡単にコンプライアンスチェックを行うことができます。本記事では、下記のチェックを試してみます。
* EC2のインスタンスタイプがt2.micro以外になっていないか
* セキュリティグループでsshのポートが公開されていないか

# CDKのライフサイクル
実際にCDK Aspectsを使ってみる前に、CDKのライフサイクルについて少し触れておきます。ライフサイクルについては、公式ドキュメントの図がわかりやすいのですが、CDKではデプロイ時に次のようなフェーズを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/372455b1-fd13-1854-c4d5-3

元記事を表示

Pythonマルチスレッド検証

## PythonのマルチスレッドでSQLite3からデータを取得する検証
### マルチスレッドでSQLite3からデータを取得する
#### 1.参照するテーブルのレイアウト
+ test_db.sqlite3.large_data

| 列名 | データ・タイプ |
|:-:|:-:|
| id | INT |
| col1 | INT |
| col2 | TEXT |
| 〜 | |
| col15 | TEXT |

#### 2.検証用コード
+ あらかじめ dataset をインストールしておくこと
“`
pip install dataset
“`
“`sqlite3_multi_thread.py
import concurrent.futures
import datetime
import traceback
import dataset

# 取得条件
CONDITIONS = [
{‘db’: ‘1’, ‘min’: ‘1’, ‘max’: ‘1000000’},
{‘db’: ‘2’, ‘min’: ‘1000001’, ‘max’

元記事を表示

【Python】for-else構文の使い方

## はじめに
Pythonには、他のプログラミング言語にはないfor-else構文があります。
本記事では、for-else構文の基本的な使い方と具体例を紹介します。

## 1. for-else構文とは?
for-else構文は、Python特有のループ構文です。
通常のforループに加えて、elseブロックを追加することで、ループが正常に完了した場合にのみ実行されるコードを指定することができます。

## 2. for-else構文の基本的な使い方
for-else構文の基本形は以下の通りです。

“`python
for item in iterable:
# ループ内の処理
else:
# ループが正常に完了した場合の処理
“`

forループが正常に完了するとelseブロックが実行されます。
break文でループが途中で終了した場合、elseブロックは実行されません。
## 3. for-else構文の具体例

##### 例1:ループ内で特定の条件が満たされた場合
以下の例では、リスト内に特定の値が存在するかをチェックし、見つかった場合にbreakで

元記事を表示

OTHERカテゴリの最新記事