- 1. scipy.stats: アンダーソン・ダーリング検定 anderson
- 2. Pythonとopencvで悪そうなモザイク作った
- 3. scipy.stats: シャピロ・ウィルク検定 shapiro
- 4. pipxでinstallしようとすると失敗するときの対処法
- 5. PsychoPyインストール時のpocketsphinxビルドエラーの解消方法
- 6. scipy.stats: アンサリ・ブラッドレイ検定 ansari
- 7. scipy.stats: フリードマン検定 friedmanchisquare
- 8. FlaskでFirebase AuthとFirestoreを同時に使いたい時にしたこと
- 9. scipy.stats: 相関係数 pearsonr, spearmanr, kendalltau
- 10. Python で Tweet の位置情報をヒートマップを用いて可視化しよう!(folium版)
- 11. Python で Tweet の位置情報をヒートマップを用いて可視化しよう!(cartopy版)
- 12. 【Python】音声の特徴量抽出MFCCの前段階:ケプストラム分析
- 13. lxml.etree で XML の基本的なことを少し触ってみる
- 14. scipy.stats: 回帰分析 linregress
- 15. Python で COVID-19 のコロプレス図を作成する(folium版)
- 16. 【Matplotlib】Object-oriented API for Beginners
- 17. Pager Duty APIで月間アラート履歴を自動で確認する。
- 18. Pythonで関数のグラフを書く方法
- 19. デプス画像から三次元点群を構築の高速化(Python,numpy)
- 20. 【Emacs】Ubuntu22.04でJediを入れたらTypeErrorが起きた話
scipy.stats: アンダーソン・ダーリング検定 anderson
# scipy.stats: アンダーソン・ダーリング検定 `anderson`
データが特定の分布関数からのものであるかどうかの検定。
`scipy.stats.shapiro` が正規分布を対象にしているのに対して,いろいろな分布に従っているかどうかを検定できる。
`anderson(x, dist=’norm’)`
`dist` には `’norm’`, `’expon’`, `’logistic’`, `gumbel’`, `’gumbel_l’`, `’gumbel_r’`, `’extreme1’` が指定できる(デフォルトは `’norm’`)。
“`python
from scipy.stats import anderson
import numpy as npnp.random.seed(123)
x = np.random.normal(50, 10, 20)
result = anderson(x)
result
“`AndersonResult(statistic=0.36238834776122175, critical
Pythonとopencvで悪そうなモザイク作った
# 1.初めに
初めてQiitaで記事を書きます。高専1年生です。試験期間中だったけど試験勉強したら負けだと思うので、最近学校でちょこっと触ったpythonとopencvを使って悪そうなモザイクを作って遊びました。全然大したことないです。
**僕なりに頑張って作った労力を誰かに見てほしい自己顕示欲と、自己満足、ないしテストから逃れるためにこの記事を書くので、「pythonで悪いモザイク作りてえな」という方向けへの分かりやすさに保証はないです。**
ただのブログだと思ってみてもらえれば幸いです。# 2.作業環境
* Windows11
* python 3.10.4
* opencv 4.5.5
* numpy 1.12.5# 3.下準備
料理にも運動にも下準備が必要なので、プログラミングでも下準備をします。## 3-1.仮想環境構築
はじめにあーだこーだ言われている仮想環境の構築です。
仮想環境は作るに越したことはないです。~~僕のばあばも昔ながらの方法で作っていました。~~しかし僕はanaconda navigatorから作りました。
コマンドは使わず、マ
scipy.stats: シャピロ・ウィルク検定 shapiro
# scipy.stats: シャピロ・ウィルク検定 `shapiro`
シャピロ・ウィルク検定(正規性の検定)を行う。
`shapiro(x)`
帰無仮説 $H_0$: データは正規母集団から抽出されたものである
対立仮説 $H_1$: データは正規母集団から抽出されたものではない“`python
from scipy.stats import shapiro
import numpy as np
“`# 1. 正規乱数
平均値=50,標準偏差=10 の 20 個の乱数を発生させ,シャピロ・ウィルク検定でこのデータが正規分布に従うか検定する。
“`python
np.random.seed(123)
x = np.random.normal(50, 10, 20)
shapiro(x)
“`ShapiroResult(statistic=0.9611964225769043, pvalue=0.5680192112922668)
$p \gt 0.05$ なので,有意水準 5% のもとでは,帰無仮説は棄却できない。結論は,「データ
pipxでinstallしようとすると失敗するときの対処法
備忘録も兼ねて。
# 経緯
pipxを使ってみようと思い、
`pip install –user pipx`でインストールして
`pipx ensurepath`でパスを通したあと、
blackを使うために`pipx install black`としたら、以下のエラーが赤文字で出た“`
pipx: The term ‘pipx’ is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
“`# 原因と対処法
`pipx ensurepath`で自動的に通された環境変数パスが、何故かすべて小文字になっているのが原因正しいパスを環境変数に入れてやれば解決する
正しいパスは、`pipx ensurepath`をはじめてしたときに出てくる
“`
S
PsychoPyインストール時のpocketsphinxビルドエラーの解消方法
この記事ではWindows10または11上に作成したanaconda仮想環境で実行した際の解消方法となります。
# 解消方法
根本的な解決ではないですが場当たり的な解法としてpocketsphinxのビルド済みのバイナリファイルをダウンロードして、インストールしていきます。以下のサイトに有志の方が公開されているものがあるのでこちらを拝借させていただきました。
https://www.lfd.uci.edu/~gohlke/pythonlibs/
今回私の場合は、pocketsphinx‑0.1.15‑cp38‑cp38‑win_amd64.whlをインストールしました。簡単にはcp38がpython3.8を示していて、最後のamd64が64bit版をあらわしています。ご自身の環境にあったものをインストールしてみてください。
インストールの方法は、
“`cmd:cmd
pip install \’ダウンロードのパス’\pocketsphinx‑0.1.15‑cp38‑cp38‑win_amd64.whl
“`
でインストール可能です。
私の環境ではswingをいくらインストールしても
scipy.stats: アンサリ・ブラッドレイ検定 ansari
# scipy.stats: アンサリ・ブラッドレイ検定 `ansari`
`ansari(x, y, alternative=’two-sided’)`
独立二標本の等分散のノンパラメトリック検定である。
戻り値は,検定統計量と $p$ 値である。
同順位がある場合は,Warning が発せられる。
“`python
from scipy.stats import ansari
import numpy as npx = np.array([111, 107, 100, 99, 102, 106, 109, 108, 104, 99,
101, 96, 97, 102, 107, 113, 116, 113, 110, 98])
y = np.array([107, 108, 106, 98, 105, 103, 110, 105, 104,
100, 96, 108, 103, 104, 114, 114, 113, 108, 106, 99])
ansari(x, y)
“`/Library/Fram
scipy.stats: フリードマン検定 friedmanchisquare
# scipy.stats: フリードマン検定 `friedmanchisquare`
`friedmanchisquare(*args)`
関連のある $k$ 標本の代表値の差のノンパラメトリック検定である。
引数の指定法は若干不自由である。
多くの統計パッケージでは以下のようなデータ行列を与える仕様になっていることが多いが,`friedmanchisquare` では,列ベクトルを複数与える)。もともと,$k$ 個の配列(ベクトル)で用意されているなら別であるが。
“`python
from scipy.stats import friedmanchisquare
import numpy as np
data = np.array([
[5.4 , 5.5 , 5.55],
[5.85, 5.7 , 5.75],
[5.2 , 5.6 , 5.5 ],
[5.55, 5.5 , 5.4 ],
[5.9 , 5.85, 5.7 ],
[5.45, 5.55, 5.6 ],
FlaskでFirebase AuthとFirestoreを同時に使いたい時にしたこと
# 概要
[firebase-admin](https://pypi.org/project/firebase-admin/)をFlaskプロジェクト内で使っていた。Firebase AuthもFirestoreも使いたかったので、同プロジェクト内でファイルごとに“`firebase_admin.initialize_app(cred)“`
したら、以下のようなエラーが出た。“`
ValueError: The default Firebase app already exists. This means you called initialize_app() more than once without providing an app name as the second argument. In most cases you only need to call initialize_app() once. But if you do want to initialize multiple apps, pass a second argument to initial
scipy.stats: 相関係数 pearsonr, spearmanr, kendalltau
# scipy.stats: 相関係数 `pearsonr`, `spearmanr`, `kendalltau`
# 1. scipy.stats: ピアソンの積率相関係数 `pearsonr`
ピアソンの積率相関係数(いわゆる相関係数と略称されるもの)を計算する。
`pearsonr(x, y)`
“`python
import numpy as npx = np.arange(15)
y = x**2
“`戻り値は,ピアソンの積率相関係数と,無相関検定の結果の $p$ 値。
“`python
from scipy.stats import pearsonrr, p_value = pearsonr(x, y)
(r, p_value)
“`(0.9644093612193902, 6.916724428470378e-09)
戻り値には $t$ 値が含まれないので,本末転倒だが逆算する。
“`python
from scipy.stats import t
np.copysign(t.isf(p_value / 2,
Python で Tweet の位置情報をヒートマップを用いて可視化しよう!(folium版)
# はじめに
[「Python で Twitter の位置情報収集」](https://qiita.com/ryamamoto0406/items/82e71076af387ee77762)で集めた Tweet の位置情報を可視化していきたい。今回はキーワードを “beer” として 2022年5月23日、24日、25日の間につぶやかれた位置情報を取得し、これを可視化してみる。データの取得方法については上記記事を確認されたし。cartopy でヒートマップを作る方法は[Python で Tweet の位置情報をヒートマップで可視化しよう!(cartopy版)](https://qiita.com/ryamamoto0406/items/561b45fbcf65af41764c)に記載済み。前半部分は上記記事と全く同じ。
# データの読み込みと結合
まず収集したデータを読み込み、三つのデータフレームを結合する。“`python:データ読み込みと結合
# 必要なモジュールのインポート
import pandas as pd# データの読み込み
df1 = pd.read_c
Python で Tweet の位置情報をヒートマップを用いて可視化しよう!(cartopy版)
# はじめに
[「Python で Twitter の位置情報収集」](https://qiita.com/ryamamoto0406/items/82e71076af387ee77762)で集めた Tweet の位置情報を可視化していきたい。今回はキーワードを “beer” として 2022年5月23日、24日、25日の間につぶやかれた位置情報を取得し、これを可視化してみる。データの取得方法については上記記事を確認されたし。# データの読み込みと結合
まず収集したデータを読み込み、三つのデータフレームを結合する。“`python:データ読み込みと結合
# 必要なモジュールのインポート
import pandas as pd# データの読み込み
df1 = pd.read_csv(“./20220523_beer.csv”)
df2 = pd.read_csv(“./20220524_beer.csv”)
df3 = pd.read_csv(“./20220525_beer.csv”)# データ結合
df = pd.concat([df1, df2, df3])#
【Python】音声の特徴量抽出MFCCの前段階:ケプストラム分析
音声の特徴量抽出はMFCC(メル周波数ケプストラム係数)をよく見かけます。しかし、メル周波数ケプストラム係数は名前に含まれているようにケプストラム(Cepstrum) と呼ばれる分析方法が基本にあります。
今回は、ケプストラム分析とPythonで書いたソースコードを解説をします。特にケプストラムの基本とソースコードについて着目するつもりですので、厳密な定義などは省きます。
# ケプストラム分析とその注目すべき点
**ケプストラム(cepstrum)** 分析とは音声信号処理において**周波数スペクトルを信号とみなして、フーリエ変換する手法** のことです。これだけ聞くと通常は「何いってるのん??」となります。ケプストラム分析をするメリットとしては、スペクトル包絡と、スペクトル微細変動成分に分離できる点です。
試したものが以下になります。
今回の音声ファイルはAttribution-ShareAlike 4.0 International (CC BY-SA 4.0)のJakobovskiらによるFree Spoken Digit Datasetを使用しました。
[【Githu
lxml.etree で XML の基本的なことを少し触ってみる
# 目的
[Windows 10 + Excel2016_x86 VBA で XML の基本的なことを少し触ってみる](https://qiita.com/tabizou/items/10eb832352a6b31888c7)
で使用したXMLファイルをPythonで基本的な操作を実行してみる。## 対象となるXMLデータ(addr2.xml)
“`xml
東京都/世田谷区/池尻/四丁目/35番
池尻4-35-25
wgs1984
4
池尻4-35-
139.673965
35.654259
scipy.stats: 回帰分析 linregress
# scipy.stats: 回帰直線 `linregress`
単回帰分析を行う。
`linregress(x, y=None, alternative=’two-sided’)`
“`python
from scipy.stats import linregress
import numpy as npx = np.arange(15)
y = x**2res = linregress(x, y)
res
“`LinregressResult(slope=13.999999999999998, intercept=-30.333333333333314, rvalue=0.9644093612193901, pvalue=6.916724428470525e-09, stderr=1.0645812948447575, intercept_stderr=8.757219244080245)
名前付きタプルで,以下のものが返される。
– slope=13.999999999999998 は回帰直線の傾き
– intercept=-30.3
Python で COVID-19 のコロプレス図を作成する(folium版)
# はじめに
簡単なコロプレス図を作りたいと思ったときに、いろいろと調べたので備忘録代わりに記録しておく。以下、参考サイト。– foliumn の使い方
– [Folium Official Document](https://python-visualization.github.io/folium/)
– [foliumの基本的な使い方とオープンデータ活用](https://qiita.com/Kumanuron-1910/items/12ce7aa02922927de2f4)
– [foliumを使って東京23区ラーメンスコアを可視化する](https://qiita.com/xkent/items/d068fc504c8cef217ca8)
– [Pythonで特定の国を特定の色で分類したインタラクティブな世界地図を作る (folium)](https://qiita.com/sentencebird/items/8b5198bba42a80642520)
– 使用したデータ
– [CSSEGISandData/COVID-19(感染
【Matplotlib】Object-oriented API for Beginners
#### Introduction
Matplotlib has two interfaces:1. Object-oriented (OO) interface
2. State-based interfaceIn this blog, I’ll focus on 1. Object-oriented interface (OO interface).
#### What is Object-oriented interface?
In OO interface, there are two main instances:
1. Figure
2. AxesOne Figure has more than one Axes, each of which is for an individual plot.
Briefly speaking, you make a Figure instance as a canvas, and then draw plots using Axes instances.#### Environment
Pager Duty APIで月間アラート履歴を自動で確認する。
# はじめに
現職ではAWSをメインに扱うクラウドインテグレーターでエンジニアをしております。
お客様毎によって異なるAWSアカウントを構築、運用しております。
オプションとして監視契約を従量課金の料金体系にする試みがありました。現職の監視ではCloudWatchのアラートをPager Dutyに連携して通知する仕組みを利用しています。
そこでPager Duty APIを利用して対象AWSアカウントの月間アラート件数を毎月自動で取得する設定を行いました。
コーディングには勉強中のPythonを使いました。
Pager DutyのAPIの日本語記事が少なかった事、自分の忘備録として記載致します。
改善点や何かありましたらコメントを頂けると嬉しく思います。# Pager Dutyとは
PagerDutyは様々な監視ツールと連携して、システムのインシデントを一元管理するツールです。
現職での主な利用用途はCloudWatch AlarmのSNSから通知を受け取りエンジニアのPager Dutyアプリに通知させる目的です。
Pager Dutyアプリでは電話のように音がなるのでメー
Pythonで関数のグラフを書く方法
# x-y座標でグラフを書く方法
自分の覚書として書く。
## 一つのグラフ
下のグラフは`arrange`を用いて $y=\sin x$ のグラフを $x-y$ 平面に $\Delta x=0.01$ おきに $0$ から $2\pi $ までプロットしたものである。
`linspace`等を用いる方法もある。“`python
import numpy as np
import matplotlib.pylab as pltx = np.arange(0, 2*np.pi, 0.01)
plt.plot(x,np.sin(x))
plt.title(‘y=sin x’)
plt.xlabel(‘x’)
plt.ylabel(‘y’)
plt.show()
“`
デプス画像から三次元点群を構築の高速化(Python,numpy)
# デプス画像から三次元点群を構築の高速化(Python,numpy)
## この記事について
—
初めまして、KEROと申します。
ロボット工学や画像工学などこと研究してます。
外人ですか、もっと日本語で技術のことを話しできるため、日本語で技術blogを書き始めた今日はPyhonでデプス画像から三次元点群を構築のことついて話します。
【Emacs】Ubuntu22.04でJediを入れたらTypeErrorが起きた話
# 起こったこと
– Ubuntu22.04
– Python 3.10.4
– GNU Emacs 28.1の環境で
“`bash
pip install jedi epc
“`したあと、emacs上で`company-jedi`パッケージをインストール。
で、pyファイルを開いて編集すると、補完がされない。Messageバッファでログをみると、以下のエラーメッセージを発見。
> jedi deferred error : (error “\”TypeError(‘Script.__init__() takes from 1 to 2 positional arguments but 5 positional arguments (and 1 keyword-only argument) were given
# 解決
emacsパッケージの方が、jedi(pythonライブラリ)の最新バージョン0.18に対応していないみたい。
古いバージョンをインストールしたら解決。“`
pip install jedi==0.17.2
“`参考:htt