Python関連のことを調べてみた2023年01月11日

Python関連のことを調べてみた2023年01月11日

pythonで「計量時系列分析」を読む2 ARMA過程

時系列分析で有名な「計量時系列分析」をpythonで実装しながら読み進めていきます。
汚いコードですが自主学習・記録が目的ですのでご了承ください。
様々な人がより分かりやすい記事を書いていますのでそちらをご覧ください。
そして、本格的に勉強したい方・細かい内容を知りたい方はぜひ参考書を手に取って勉強してください。
また、何か問題があればご連絡いただければと思います。

次の本を扱います。

### 参考書

https://www.amazon.co.jp/%E7%B5%8C%E6%B8%88%E3%83%BB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%8A%E3%83%B3%E3%82%B9%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E8%A8%88%E9%87%8F%E6%99%82%E7%B3%BB%E5%88%97%E5%88%86%E6%9E%90-%E7%B5%B1%E8%A8%88%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%BC-%E6%B2%96%E6%9C

元記事を表示

たった2行のPythonコードでジャンプカット ー 動画編集✕プログラミングで強いクリエイターに

# 前置き

動画編集をしたことある人ならわかるかもしれませんんが

結局、カット作業が時間を一番時間を食ってめんどくさいですよね。

その何時間もかける作業を5分もかけずにできるとなったら

なんとも嬉しいことです。

そのなんとも嬉しいことがプログラムを書くことで実現可能です。

一番馴染みやすい言語として**Python**という言語がありますが

そのPython言語のパッケージである**jumpcutter**を使って

**動画編集**をしてみようと思います。

# Before After

早速ですが、Before Afterをご覧いただきます。

多少、何言ってるかわからない部分などはありますが

テンポが良く伝わるので問題ないでしょう。

## Before

## After

# 環境

・WSL2

・Jupyter Notebook

# jumpcutterのGitHub URL

jumpcutter

元記事を表示

常微分方程式を解く

# はじめに
記事の対象者

* Pythonの記法がわかる人
* 常微分方程式を解きたい人

## 実行環境
* Python 3.10.9
* Matplotlib 3.6.2

# 原理
いろんな人が書いているので省略.

# Code

“`Python
def func(x, y):
return x * x – y

def func2(x):
return x ** 2 – 2 * x + 2

def Euler(h, f, x, y):
return x + h, y + h * f(x, y)

def Heun(h, f, x, y):
_x = x + h
k1 = h * f(x, y)
k2 = h * f(x + h, y + k1)
_y = y + 0.5 * (k1 + k2)
return _x, _y

def RungeKutta(h, f, x, y):
_x = x + h
k1 = h * f(x, y)
k2 = h * f(x + h / 2.0

元記事を表示

Djangoの呪文書

# まえがき
Djangoの学習にあたって、ルール的に記載が必要なもの、記法などの初心者特有の呪文がある。他の言語の呪文と混ざってしまったり、似た種類の呪文を採用してしまうなどのミスを防ぐために呪文を自分用のドキュメントとして記載する。

## 環境
– windows11 64bit
– VScode
– python v3.9.6 64bit
– django v4.0.1

## 構成
### プロジェクト作成
“`
django-admin startproject hogehoge
“`
### アプリ作成
“`
python manage.py startapp hogehoge
“`

### ユーザの作成
“`
python manage.py createsuperuser
“`

### その他
“`
mkdir templates
mkdir static
mkdir media
touch ./hogehogeapp/urls.py
touch ./templates/base.html
touch ./templates/hoge.html
to

元記事を表示

CSV形式の行列を読み込むプログラム(Python)

# プログラムについて
https://qiita.com/persim/items/87f4812fe8bf0ab90d00
上の記事で作成したCSV形式の行列をPythonで読み込むプログラムを作成しました.

# 環境
– MacBook Air(M1, 2020)
– Docker(Ubuntu 20.04.5 LTS)
– g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

# プログラム
“`python:readMatrix.py
import numpy as np
import csv
import sys

File_name = sys.argv[1]

# CSV形式のファイルから行列データを取得する
with open(File_name, ‘r’) as csv_file:
csv_reader = csv.reader(csv_file)
matrix_info = next(csv_reader)
matrix_list = list(csv_reader)

N = matrix_info[0

元記事を表示

ABC284 A~E問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder

ABC284(AtCoder Beginner Contest 284) A~E問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。

その他のABC解説、動画などは以下です。

更新時はツイッターにて通知します。

https://qiita.com/sano192/items/54accd04df62242b70f0

# A Dif:10

https://atcoder.jp/contests/abc284/tasks/abc284_a

まず各入力をリストに受け取ります。
次にリストの内容をひっくり返します。
最後にリストの内容を順に出力します。

この問題では
・リストの使い方
・リスト内容をひっくり返す(逆順にする)方法
・リストの内容を順に出力する方法
を知っている必要があります。コンテスト中でもわからなければググりましょう。

・リストの使い方
リストは複数の要素を入れられる箱のようなものです。
まず空のリストを用意しましょう。名前をAとします。

“`python:
A=[]
“`

次にN

元記事を表示

3次元点群が平面を構成しているか把握する方法

## 背景
3次元点群が平面を構成しているか(直線上に並んでいないか)を検出したいときがあったので、手法などをこちらにまとめました。直線上に並んでいて、平面を構成できていない下画像のようなものを検出するのが目的です。
![Figure_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663246/bcf822a7-d795-ab0d-7342-9d2e0b7162d5.png)

## 手法
[こちら](https://www.ltu.se/cms_fs/1.51590!/svd-fitting.pdf)のAlgorithm 3.1のやり方をベースにやってみました。特異値分解することにより、x, y, z方向の散らばり具合を求めて、値が大きい2つの値の比を求めることにより、平面を構成しているか確認しました。主成分分析の[資料](http://www.sanko-shoko.net/note.php?id=cv7g)も参考になりました。

### 1. 3次元点群の中心を求める
“`math
c=\f

元記事を表示

Kivy と Python で電卓を作る2:設計

# Kivy と Python で電卓(ダサい)を作る:方針

前回に続き, 実装方針を考える.
人は Kivy で電卓を作りたがる修正があるらしく, 他にも数件の記事を見かけた.
* [Python Kivyの使い方② ~電卓を作成する~](https://qiita.com/dario_okazaki/items/910abf09344a60dd7823)
* [Python GUI kivyで電卓を作ってみる](https://medium.com/@hokan_dev/python-gui-kivy%E3%81%A7%E9%9B%BB%E5%8D%93%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B-c32d64de1a99)

見直してみるとそれぞれに違って面白い.

## 目次
[Kivy と Python で電卓(ダサい)を作る:概要](https://qiita.com/ShrikeWasHere/items/07c879b4485a612eee33)
[Kivy と Python で電卓(ダサい)を

元記事を表示

Kivy と Python で電卓を作る1:概要

Python, Kivy, 関連するパッケージの勉強とアウトプットの練習を兼ねて, Python と Kivy で電卓を作ってみる. 今回は導入編.

## 1. 今回の目標

Kivy と Python を使って簡単な電卓を作る.
今回の目標は下画像のように基本的な入力と計算・出力ができるものを作成すること.

後々, 見た目を変更する(未定)

### 要件

* 計算関連
* 四則演算ができる(当然)
* 少数も入力・計算ができる
* 0 での割り算にはエラー表示
* 表示は10桁まで10桁を超えた場合は OF を表示
* 入力関連
* 数字を入力せずいきなり演算子を入力することはできない
* 001 のような入力はできない
* del ボタンで最後に入力した数字を消去できる(123 は 12 に変化)
* AC ボタンを1回押しで入力数値リセット, 2回押しで電源OFF
* 電源OFF 状態では AC ボタン以外の入力を受け付けない

こんなところかな? 必要に応じて追加・削除をおこなってゆく

元記事を表示

【Matplotlib】チートシート_Python データ分析学習備忘録

## チートシート
自己学習用です。
正規の内容はドキュメントを参照してください。

## 文法

### グラフ描画 基本文法
“`
# matplotlib.pyplotをpltとしてimport
import matplotlib.pyplot as plt
import numpy as np

# np.piは円周率
x = np.linspace(0, 2*np.pi)
y = np.sin(x)

# データx, yをグラフにプロットして表示
plt.plot(x, y)
“`

* 表示範囲:`plt.xlim([始まりの値, 終わりの値])` `plot.ylim([始まりの値, 終わりの値])`
* グラフタイトル:`plt.title(“タイトル名”)`
* 軸ラベル:`plt.xlabel(“ラベル名”)` `plt.ylabel(“ラベル名”)`
* グリッド表示:`plt.grid(True)`
* グラフ軸のメモリを設定:`plt.xticks([目盛りを挿入する位置], [表示する目盛りの文字列])`
* グラフサイズ:`plt.figure(f

元記事を表示

.ipynbファイル(jupyter notebook)が重くて開けない

## 問題 

.ipynbファイルが重くて開けなくなった。(250MB)

## 対処法
外部からセルの出力量を減らし、メモリ使用を減らすことで開けるようになりました。

“`
pip install nbclean
input_file = “./hoge.ipynb”
output_file = “./hoge_out.ipynb”

cleaner = nbclean.clean.NotebookCleaner(input_file))
cleaner.clear(“output”)
cleaner.save(output_file)
“`

上記を.pyファイルで作成し、python hoge.py で実行すると、出力がなくなったoutputファイルが作成され、開けるようになりました。

元記事を表示

globとコマンドラインのワイルドカード(*)でハマった件

# 発生した問題
データセットを作成する時は大体拡張子別にディレクトリを分けているのですが,今回はたまたま 2 種類の拡張子を持つファイルが 1 つのディレクトリに入ってしまっていたので,Python のコード内でこれらを分けて取得する必要がありました.
しかし,この取得の段階で **glob コマンドがなぜかうまく動きませんでした**.
本記事では発生した事項,解決策,結論について述べたいと思います.

以下に今回のディレクトリ&ファイル構造を示します.
“`:dir_structure
.
├── glog.py
└── dataset_dir
├── 001.txt
├── 002.txt
├── 003.txt
├── …
├── 100.txt
├── 001.png
├── 002.png
├── 003.png
├── …
└── 100.png

“`
このディレクトリ構造に対して,以下のコードを用いて“`.txt“`および“`.png“`ファイルの path を格納した

元記事を表示

matplotlibで3次元点群を色付きで表示

### 前提
点群:
代表点4つを基にして同じ分散を持つ点群120点(4*30点)を生成する
表示:
カラーマップ(teb10)を基にして点ごとに色をつけて表示

### コード

“`python:sample.py
import matplotlib.pyplot as plt
import numpy as np
#点群の生成

# 生成するグループの数
k = 4
# グループ毎の分散
sigma = [[20, 0, 0], [0, 20, 0], [0, 0, 20]]

# 座標を格納する空の配列を作成
x = np.empty((0,3))

# 配列の中に座標を格納
for ell in range(k):
# グループ毎の代表点
pc = np.random.uniform(low=-20, high=20, size=(3,))

#代表点を基に分散sigmaの点を30点作成
xs = np.random.multivariate_normal(pc,sigma,30)

#xに3次元の座標を持った点群を

元記事を表示

【PySimpleGUI】設定ファイルをJSONで簡単に取り扱う

PySimpleGUIで設定ファイルを取り扱いたい時に、`configparser`モジュールを利用したやり方が多く紹介されています。
しかし、PySimpleGUIのみで設定ファイルを取り扱うことができるので紹介します。
日本語の記事が見当たらなかったので投稿しました。

# バージョン
4.60.4

# 公式リファレンス
基本ここ見ればいいです。
[Call reference \- PySimpleGUI](https://www.pysimplegui.org/en/latest/call%20reference/)

# メソッドの説明
– `user_settings_filename(filename = None, path = None)`
設定ファイルのパスとファイル名を指定します。
最初に指定をしなければ、デフォルト値として
path : C:/Users/<ユーザー名>/AppData/Local/PySimpleGUI/settings
filename: アプリケーション名(Pythonファイル名) + ‘.json’
が指定されます。(Window

元記事を表示

JupyterNotebookで使えるマークダウン形式コード

Jupyterでのマークダウン形式についてPythonを復習していたら初めて使い方を知ったので、軽くメモっておきます。

## マークダウン方式を選択

セル上部のCodeをMarkDownに変更すると、コードの代わりにマークダウン形式のテキストを記載できるようになります。

![スクリーンショット 2023-01-10 193037.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/337578/978baf72-f23c-e086-f126-83e4220a36d5.png)

## マークダウン方式テキストの種類

Qiita本文のマークダウン形式テキストと同様、以下の種別のテキストが扱えるようになります。

“`python

# 見出し1
## 見出し2
### 見出し3
#### 見出し4
##### 見出し5
###### 見出し6

**強調** – アスタリスク2つではさむ
*Italic* – アスタリスク1つではさむ
`インラインコード` – バックダッシュではさむ
> 引用 – 大

元記事を表示

【Django】settings.pyのINSTALLED_APPSとアプリケーション構成クラスとは?(3.2から推奨が変わった件も)

# 概要
* INSTALLED_APPSの記載方法について以下の2通りがありますが、django3.2から推奨の記載方法が変わっているらしいので備忘録。
1. 明示的にアプリケーション構成クラスを書いて登録する場合
2. アプリケーションパッケージ名を書いて登録する場合
* 上記の記載方法に付随するエラー(警告)2件についてメモ
* primary keyを定義しておきない、という黄色の警告文
* `INSTALLED_APPS`記載漏れによるRuntimeError

## 環境
* Mac
* 機種ID:MacBookPro18,3
* macOS:Monterey
* チップ:Apple M1 Pro
* メモリ:16GB
* Django version: 4.1.3

# `INSTALLED_APPS`とは
* djangoプロジェクトにアプリケーションを登録する(インストールする)際に必要になるのが、`INSTALLED_APPS`。
* ここにアプリケーション構成クラスを設定することで、アプリケーション

元記事を表示

画像の不要物を削除 AOT-GAN-for-Inpainting

# Inpaintingやってみたいけど難しそう

![room1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/546e95e9-d9bc-d851-b93b-fabb439dbe51.png)![bafd8007-676f-488a-bf58-881faa645d0c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/663ecfef-5da9-d916-0edf-ad7dfc8c5643.png)

意外と簡単です。

# 使い方

InpaintingモデルAOT-GAN-for-Inpaintingの使い方です。

https://github.com/researchmm/AOT-GAN-for-Inpainting

リポジトリからトレーニング済みの重みをダウンロードしておきます。
リポジトリをクローンして、

・トレーニング済みの重みのパス
・画像ディレクトリ
・マスク画像ディ

元記事を表示

ABC284回答メモ

0.はじめに
 年明け早々に帯状疱疹になり、痛みに耐えて頑張りました。
 Cは今一攻め切れなさそうだったので、Dからやったら
 解けたので、年始一発目としては満足です。

1.A – Sequence of Strings
 あまりきれいに答えようとせず
 シンプルに考えて、回答しました。

 頭から保存していって、出力を後ろからにしました。
 
“`
for i in range(N):
print(list[N-i-1])
“`
 https://atcoder.jp/contests/abc284/submissions/37797242

2.B – Multi Test Cases
 問題文通り、1つの入力で複数のテストケースを裁くだけの簡単なお仕事でした。

 https://atcoder.jp/contests/abc284/submissions/37802076

3.C – Count Connected Components
 ははーん。これは頓知的な問題で、辺数が頂点数以上なら
 全部つながっているし、それ以下なら、辺数-頂点数の固まりになるんだ

元記事を表示

Pythonでwindowsのコンソールの×ボタンを無効化する

https://stackoverflow.com/questions/29269436/disable-close-button-of-console-window

“`
pip install pywin32
“`

“`python
import win32console, win32gui, win32con
hwnd = win32console.GetConsoleWindow()
if hwnd:
hMenu = win32gui.GetSystemMenu(hwnd, 0)
if hMenu:
win32gui.DeleteMenu(hMenu, win32con.SC_CLOSE, win32con.MF_BYCOMMAND)
“`

元記事を表示

locustでWooCommerceとStripeを使ったサイト(WordPress)での購入処理をするやり方

# はじめに
wordpress上でwoocommerceとstripeを使ったサイトへの購入処理をlocustで実装したので解説します.

## woocommerceとは
wordpressで無料で使えるプラグインで本格的なサイトを作ることができます.
詳しい説明は[ここ](https://tcd-theme.com/2022/03/about-woocommerce.html)で見れます.

## stripeとは
オンライン決済サービスのことです.
詳しい説明は[ここ](https://eczine.jp/article/detail/11060)で見れます.

# locustコード
最初にコードをのせておきます.
“`python:locustfile.py
from locust import HttpUser, TaskSet, task, constant
import random
import re

class UserBehavior(TaskSet):
headers= {
“Content_Type”: “application/

元記事を表示

OTHERカテゴリの最新記事