Python関連のことを調べてみた2022年05月06日

Python関連のことを調べてみた2022年05月06日

プログラミング初学者のAtCoder成長日記

#初めに

– この記事は技術的な記事ではなくただの成長日記です
– この記事は1ヶ月に一回更新を目標に書いていこうと思いやーす
– Qiitaの使い方もよくわかってないんで記事の内容は読みにくいかもしれません

#現時点でのレベル

– コンテスト経験ゼロ
– 下の画像は現時点でAtCoderProblemsで解いた問題の比率です。
– 目標としてEasyを全クリしてからMediumとHard解いてこうと思ってます。

![Screen Shot 2022-05-05 at 14.53.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641126/ac4465d4-8e69-3e75-cc42-1aab9d353a54.png)

![Screen Shot 2022-05-05 at 15.05.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641126/7bb00830-2a3d-c2e

元記事を表示

【Python】インストールしたはずのモジュールが使えない

# はじめに
Pythonを書くことになり、普段使わないVSCodeを使用したら、
インストールしたはずのモジュールが使えないという事態に陥りました。
同じ問題に行き着いた方のために書き残しておきます。

# 問題
`ModuleNotFoundError: No module named ‘XXXXXXXX’`
このようにモジュールが見つからないよ。と表示されてしまいます。
たしかにインストールしたのに?

# 原因
VSCodeが使用しているPythonとパソコン本体が使用しているPythonが違うことが原因でした。(表現が合っているか不安)

# 確認方法
こちらは使用しているPythonのパスを取得するコードになります。
“`Python
import sys
print(sys.executable)
“`
**VSCode**
VSCodeで先ほどのコードを実行します。
![スクリーンショット 2022-05-06 2.12.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/17453

元記事を表示

【Django】django.contrib.auth.urlsのログインについて

Djangoの標準機能で用意されているdjango.contrib.auth.urlsについて記載します。
django.contrib.auth.urlsを使用することで簡単にユーザのログインやログアウトなどの機能を実装することができます。
当記事では呼び出すことができるURLについて説明していきます。
## 設定方法
django.contrib.auth.urlsはsettings.pyに記載することで使用可能になります
“`settings.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘accounts/’, include(‘django.contrib.auth.urls’)),
]
“`
urlpatternsのリストに入れることで呼び出すことができるようになり、以下URLを呼び出すことができるようになります。
“`
accounts/lo

元記事を表示

[Python] ビット演算子と論理演算子で詰まった話

# これまでの条件分岐内での記述の仕方
プログラム言語には、ビット演算子と論理演算子が存在します。
ビット演算子と論理演算子を区別せず、かつプログラムを書き始めたのがC言語からだったこともあり、Pythonで条件分岐をする時に「Pythonでは&を1つ書くだけでいけるのか、またはandで書くのか」と思っていました。
そのため気分でandやorを使ったり、&や|を使ったりと好き勝手にしていました。

# 頭の中では、Trueなはずなのに何故かFalseになる
ある日、条件分岐をいつもの様に書いているとこんな出来事に出会いました。

“`
a = 5
b = 7

a > 0 & b > 0

False
“`

あれ??
おかしいな
andでやってみようかな

“`
a > 0 and b > 0

True
“`

だよな。

&の時の条件を分けて見てみよう。
“`
a > 0
True

b > 0
True
“`
もちろん、そうですよね。
では、なぜ&の時にFalseなんだ。
とパニックになってしまいました。

ここでふと、そういえばビット演算子と論理演算子って聞い

元記事を表示

pythonでオシロスコープ波形のタイミング解析

[前回](https://qiita.com/nachtele/items/e5b9e57b0375c4ad1bae)はVDS3104で保存したバイナリーデータを解析して、matplotlibで表示するようにしてみました。今回は、さらに実用的な、波形のタイミング解析ツールを作ってみました。

# タイミング解析とは
I2CやSPIなどで通信するデバイスには、データを正しく送受信するために信号エッジ(立上り/立下り)の時間関係が規定されており、それらが実際に規定値範囲内に収まっているか確認する必要があります。それを調べるのがタイミング解析です。
I2Cには信号線は2本しかありませんが、スタートコンディション、ストップコンディションといった、伝送されるデータ本体以外の状態もあり、解析すべきタイミング項目は十数項目以上あります。
以下に、テスト用に生成した波形データでの解析例を示します。

![tHD_STA_0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1923193/3668a7ab-9976-eae

元記事を表示

Python(Windows環境)のshebangについて

`shebang`とは下記プログラムの一行目にあるように。
プログラムの先頭行で`#!`ではじまるもので。

“`python:helloworld.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-

#HelloWorldを表示するSampleプログラム
print(“Hello World!”)
“`

`shebang`は`Linux`や`Unix`で実行系を指定する仕組みとなりますが。

`Windows`環境にインストールされている`Pythonランチャ(py.exe)`はPythonスクリプトに記載されている`shebang`を適切に処理してくれます。

このためPythonスクリプトではWindows環境でも`shebang`を適切に利用されます。

## ドキュメント

[Windows で Python を使う](https://docs.python.org/ja/3/using/windows.html#shebang-lines)のドキュメントの中に`shebang`について記載されている部分があります。

[シェバ

元記事を表示

Pythonディープラーニングの学習

# 書籍
ディープラーニングAIはどのように学習し、推論しているのか

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596059/a37e9498-86e0-db18-acbe-87b6984e5ef8.png)

## CNN
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596059/8886b5d0-a15c-82a2-14b0-330afe234fdd.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596059/49969d97-9f89-5618-b7d4-0977853b1c0f.png)

元記事を表示

Ansible: GitHubリリースからPythonパッケージをインストールする

## 概要
Ansibleを使って、GitHubリリースにアップロードされているWheelファイルをダウンロードしインストールします。

## 事前準備と前提
[community.generalコレクション](https://docs.ansible.com/ansible/latest/collections/community/general/index.html)を使用するので、インストールされていなければ下記のコマンドでインストールして下さい。

“`shell-session
ansible-galaxy collection install community.general
“`

また、AnsibleでインストールするPythonパッケージは、下記[Jupyter Notebookの例](https://github.com/jupyter/notebook/releases/tag/v6.4.11)のようにGitHubのリリースに`.whl`ファイルとしてアップロードされているとします。

![Jupyter Notebookの例](https://qiita-

元記事を表示

Irisで前処理を試してみる

Markdownの練習も兼ねています。
はじぱたに載っているグラフをpythonで試してみました。

“`python
from sklearn.preprocessing import StandardScaler
import numpy as np
from matplotlib import pyplot as plt
from sklearn.datasets import load_iris
from sklearn import preprocessing
iris = load_iris()
“`

“`python
import pandas as pd

df = pd.DataFrame(iris.data, columns=iris.feature_names)
df[‘target’] = iris.target
df.loc[df[‘target’] == 0, ‘target’] = “setosa”
df.loc[df[‘target’] == 1, ‘target’] = “versicolor”
df.loc[df[‘target’] ==

元記事を表示

【Python】大谷選手の試合予定を自動でLINEに通知する

# Pythonを使って大谷選手の試合予定を自動でLINEに通知する

大谷選手、今年もばんばんホームランを打って、活躍してほしい!
この記事では、そんなあなたに、エンゼルスの試合予定をLineに通知する、自動化手法を紹介します。

## LINE Notify API の利用準備

今回は、ユーザへの一方的な通知になるので LINE Notify API を利用します。

APIのトークンは [LINE公式サイト](https://notify-bot.line.me/ja/) からアカウントを登録することで取得できます。
“マイページ > トークンを発行する > トークン名、トークルームを設定 > 発行する“
発行されたトークンはpythonコード内で使用するのでコピーしておきます。

## 必要ライブラリのインストール

今回は、LINE APIにHTTPリクエストを送信するための“requests“と、
MLBの試合や選手の情報を取ってくる“statsapi“のライブラリを利用します。

“$ pip install requests MLB-StatsAPI“

元記事を表示

Tweepyで「API.update_status_with_media」を使って画像付きTweetをするのは推奨されていない。

https://docs.tweepy.org/en/stable/api.html#tweepy.API.update_status_with_media
こちらによれば、
“`
Deprecated since version 3.7.0: Use API.media_upload() instead.
“`
となっている。
日本語のTweepy解説記事では多くが「API.update_status_with_media」を利用したサンプルを掲載している。
ちょっとした拍子に動かなくなっちゃうかもしれない。

### じゃあどうすればいいんだよ
ドキュメントに書いてあった通り、「API.media_upload」で画像をアップロードしてから「API.update_status」でmedia.idを指定する。
“`
tweet_txt = “あいうえお”
tw_img_pass = “file.png”

media = api.media_upload(tw_img_pass)
api.update_status(status=tweet_txt, media_ids=[me

元記事を表示

可変長配列に要素を追加する処理の色々

# これは何?

go の slice や C++ の std::vector のようなものに要素を追加する場合に世の人々がどうするのかを調べた。

# そもそも

いわゆる可変長配列というものの代表的な実装は

* 適当にメモリ確保して、そこに要素を格納する
* 確保した容量に入らなくなったら、別の場所にメモリを確保して、そこに全部移動してから新要素を追加する

というものになっている。
この「別の場所にメモリを確保」の際にどうするのかが悩みどころ。
必要サイズぴったりにメモリ確保すると「1個追加」を1000回行った場合に絶望的に遅くなる。
多めに確保したいところだけど、多すぎるのはやっぱり損。

みんなどうしているのかなと思って調べてみた。

# 各実装

## go の slice

https://github.com/golang/go/blob/go1.18.1/src/runtime/slice.go#L193
辺りに実装がある。

1. 旧キャパシティが 256未満なら、新キャパシティは旧キャパシティの倍。
1. 旧キャパシティが 256以上なら、新キャパシティは旧キャ

元記事を表示

NikeRunClubのデータ取得を効率化+解析したら新たなトレーニング指標が得られた件

## 狙い

最近膝を怪我したこともあり,再度データ分析に力を入れ始めた...
以前にNikeRunClubに集積された走行データをAPIを用いて取得する方法を[記事](https://qiita.com/h_funa/items/a9950dccd6bb4d4cf750 “NikeAPI”)にまとめた.しかしながら,実際に解析を進めるにあたり以下のような課題がある.

– 取得されるJSONデータが解析向きでなく,生データだと扱いづらい
– ランごとのサマリーデータを扱いたい場合と時系列で扱いたい場合で区別する必要があり扱いづらい
– 以前の記事ではデータをbashで取得していたが,解析作業を考えるとpython等で取り扱いできたほうが楽
– 全データを毎度取得しているとサーバに負荷もかかるし,スクリプト処理時間も伸びるので必要なデータだけを取得したい(解析だけなら毎度取得も不要)

上記を改善するスクリプトを作成し,実際にデータを解析したので一例をここに共有する.(GWの暇つぶし)
実際にデータを解析することで,トレーニングの効果指標として心肺能力を評価できる新たな指針を得られた.

元記事を表示

Invalid JSON Keys cannot be empty or contain $#[]./【Firebase Realtime Database】

**無効なJSON キーを空にすることはできません。また、キーに $#[]./ を含めることはできません**と表示されたため備忘録
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208363/accc6dfc-ff22-0bae-1e03-c97c2562d8d7.png)

`$#[]./`をエンコードすることで保存できた

### JavaScript

“`javascript
const encodeKey = s => s.replace(/[\.\$\[\]#\/%]/g, c => ‘%’ + c.charCodeAt(0).toString(16).toUpperCase())
const decodeKey = s => s.replace(/%(2E|24|5B|5D|23|2F|25)/g, decodeURIComponent)

const obj = {‘.$[]#/’: ‘hoge’}
saveAsJSON(Object.fromEntries(Objec

元記事を表示

pandas 時系列データで使用できる期間を指定するaliasの一覧

# はじめに

pandasのリファレンスの読み方が最初わかりにくかったので個人的なメモです。

Pythonでデータを直感的に操作するためのライブラリ`pandas`を学び始めました。
pandasのコードを読んでいると時間指定するところで、文字でいろいろ指定されているのがわかりました。

“`python
# 年間の平均値の数値の推移を取得
data.resample(‘A’).mean()
“`

このように指定できる文字列いろいろあるようです。

時系列データの操作についての詳細は[Time series / date functionality — pandas 1.4.2 documentation](https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#time-series-date-functionality)に記載されています。ここにたどり着くのに少し手間取りました。

## 頻度のalias一覧

|Alias|Description|
|:—-|:—-|
|B|

元記事を表示

PythonでARモデル推定を試してみた

# PythonでARモデルの推定

## 自己回帰(Autoregressive: AR)モデルとは
時系列データの時間軸に対して、過去の時刻のデータを用いた回帰モデルです。

$$y_t=c+\phi_1y_{t-1}+\phi_2y_{t-2}+\cdots + \phi_py_{t-p}+\epsilon_t$$
ここで$y_t$は時刻tにおけるデータ、$c,\phi_n$はARパラメータ、$\epsilon_t$は誤差項で、$\sigma^2$に従うホワイトノイズと仮定します。

ここでは、stattsmodelsを使ってAR(2)過程のデータを生成し、ARパラメータを推定してみます。
$$y_t=c+\phi_1 y_{t-1}+\phi_2 y_{t-2}+\epsilon_t$$

## ARデータ生成
ここではAR(2)過程のデータを生成します。
~~~ test_ar.py
import statsmodels.api as sm
import numpy as np
import matplotlib.pyplot as plt

# AR(2)過程のデータ作成

元記事を表示

医療情報技師の過去問サイトを爆速で作った話【Python/PHP】

# 背景

医療情報技師の資格試験が8月にあり、過去問の勉強しようと過去問サイトを探していたが、なかなか良いWebサイトがない。。。

以下のWebサイトを見つけたが、いくつか問題点があって、自作でWebサイトを作ることにしました。

https://iryoujyouhou.wiki.fc2.com/wiki/トップページ

# 問題点について

[背景](#背景)で述べた問題点についてですが、以下となります。

### 1. 問題の正解不正解を記録してくれない

自分が今何問正解しているのかを毎回紙にメモするのが面倒でした。
合格基準を満たしているか確認するために正答率も出したかったので、システム側で記録して欲しかった。。。

### 2. スマホ画面だと解答が丸見え

01.jpg

上記の画像のようにスマ

元記事を表示

Pythonと比べて学ぶ競プロのためのRust Part2

今までは Python で競技プログラミングをしていましたが、最近 Rust の勉強を始めました。同じように Python を書いたことがあり Rust へ入門しようと考えている人向けに AtCoder の過去問 (B~C) を両言語で解いてみます。

>この記事は Part2 です。
>- 前回の記事
> – [Pythonと比べて学ぶ競プロのためのRust](https://qiita.com/hinu1116/items/fead65fbe461b30acfdd)
>- 前回のテーマ
> – 基本文法 ( `for` / `if` / 入出力)
> – 参照
> – メモ化再帰
> – `Option` 型
> – `HashMap` / `defaultdict` / 辞書

#### 今回扱うテーマ

– 累積和 / `scan`
– オーバーフロー
– `all` / `any`
– `lower_bound`
– 座標圧縮

#### ABC238 B – Pizza

問題:

https://atcoder.jp/contests

元記事を表示

【小ネタ】続・長文matplotlibをやめるぞジョジョ 〜multiplot編〜

前回の記事のちょっとした続きです。
今回の記事は実用的なコードというよりもアイデアの紹介になります。

https://qiita.com/mochi_gu_ma/items/aea51bb986092783f073

前回のタイトルオチをひきずっています。

# 記事の背景

前回の記事でmatplotlibを簡潔に書く話を書きました。

もともと[あきとしのスクラップノート](https://akitoshiblogsite.com/)さんの以下の記事に触発されて書いた記事でした。

[[python] context manger を使ってmatplotlibの図を大量生産する](https://akitoshiblogsite.com/context-manager-matplotlib/)

が、なんとコメント欄でご本人からコメントをいただきまして…!

そこで複数のグラフをシンプルに書く方法がないかという話になり、
自分のアイデアを整理してIssueに出したので、その内容を記事にもしておきます。

今回は実用性度外視で、アイデアを伝える最小限のコードに絞っています。

元記事を表示

ドローンを使ってクラスやインスタンス、コンストラクタをわかりやすく解説してみた

クラスやインスタンス、コンストラクタはとてもわかりにくいですね。
理由はクラスやインスタンスはイメージしにくいからだと思います。

クラスをつくってインスタンス化(そのときコンストラクタで初期化)してメソッドを呼び出すという流れになるわけですが、そもそもなんでこの流れになるのか、わからない人向けの記事です。

そこで目に見えるようにするためドローンを使った例え話で解説します。
ドローンは単に時流に乗っただけですが、たい焼きや犬猫の例え話よりは、わかりやすいのではないかと。

さてドローンが作られて実戦に投入されるまでを考えてみると

①まず、ドローンには設計図があります
![c1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411052/bbcc8538-bdff-3e9e-6212-109e347e8256.jpeg)

②この設計図をもとに工場で大量生産します
1号機、2号機、3号機。。。。100号機といった具合
![c2.JPG](https://qiita-image-store.

元記事を表示

OTHERカテゴリの最新記事