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

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

scipy.stats: アンサリ・ブラッドレイ検定 ansari

# scipy.stats: アンサリ・ブラッドレイ検定 `ansari`

`ansari(x, y, alternative=’two-sided’)`

独立二標本の等分散のノンパラメトリック検定である。

戻り値は,検定統計量と $p$ 値である。

同順位がある場合は,Warning が発せられる。

“`python
from scipy.stats import ansari
import numpy as np

x = 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 np

x = np.arange(15)
y = x**2
“`

戻り値は,ピアソンの積率相関係数と,無相関検定の結果の $p$ 値。

“`python
from scipy.stats import pearsonr

r, 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


池尻4-35-25
wgs1984
4
池尻4-35-

東京都/世田谷区/池尻/四丁目/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 np

x = np.arange(15)
y = x**2

res = 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 interface

In 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. Axes

One 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アプリでは電話のように音がなるのでメー

元記事を表示

WindowsでRPLiDAR使いたい症候群

私の先輩でもともとRPLiDAR A1M8を使っている方がいました.
そのお方は,Linuxでの環境構築に半年かかっていたそうで、、、
それに対し,私はそんな強い忍耐はなく,LinuxではなくWindowsで使用できないものかと考えました.

・・・その結果,できました!!
なのでその手順というか過程をここに書き残しておこうと思います

# ~第一章 環境~ 
今回使用するPCはWindowsを想定しています.
Windows10でも11でも動作すると思われます.
お手元のPCでPythonの環境を準備して下さい.
ちなみに私はPython 3.7.9でした.(Python3であれば動くのかな?)

https://github.com/Roboticia/RPLidar

上記のURLからソースコードをDLしてください

“`
pip install rplidar-roboticia
“`

今回はWindowsなのでsudoのないコマンドで大丈夫です

これが終わったら,お好みのディタを開いて
pythonファイルを作成し,下のソースコードをコピペしてください
“`main

元記事を表示

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 plt

x = 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_bibouroku_4_0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703946/d4a85cfd-86ea-29bf-32fa-c26fac3bdd79.png)

元記事を表示

デプス画像から三次元点群を構築の高速化(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

元記事を表示

【Python】型ヒント入門編

# この記事で書くこと
この記事ではpythonの型ヒントについて簡単に説明していきます。

# 型ヒントとは?
型ヒントとは、関数の引数と返り値の型を書いておくものです。
型ヒントは、あくまで注釈であり、あってもなくても、Pythonの実行時にはなにか特別効果があるわけではありません。(別に最悪なくても良い☺︎)
ただ、注釈を書いておいて置くことにより、コードの改修時や、チーム開発で他のメンバーがコードを見た時にわかりやすいようにすることができます。
なるべく記載した方が良いでしょう☺︎

# 型の種類
基礎的な方になりますのでなるべく全部暗記できるようにしましょう。
私はbytesを使ったことがなかったのでこの記事書いてて初めて知りました…

| 名称 | 型 |
|:—————–|:——————|
| 整数 | int |
| 浮動小数点数 | float |
| 文字列 |

元記事を表示

python学習 – 1日目

# はじめに
python初心者がこっそり学習する。
まずはなるべく毎日30分でも触ることが目標。

# pythonの環境構築
こちらは別記事で実施する予定。
環境構築で挫折したくないので。。
今回は構築しなくても、ブラウザでpython実行できる[Google Colaboratory](https://colab.research.google.com/)を利用する。
[使い方](https://www.python.jp/train/experience/colab.html)の記事を参考にしました。

# pythonのバージョン
python3を使用する。
ちなみにpython2系は2020にサポート終了済み。
私のようにこれから始める方は、python3系を選ぶのが良いと思います!

# Pythonのコーディングルール
[PEP8](https://pep8-ja.readthedocs.io/ja/latest/)をまずは参考にするのが良さそう。

# コメント
コメントは、コードが実行される時に無視されるもの。
メモやコードの説明に使う。
コードの全行にコメントつけ

元記事を表示

【AtCoder解説】PythonでABC254のA,B,C,D,E問題を制する!

**ABC254**の**A,B,C,D,E問題**を、**Python3**でなるべく丁寧に解説していきます。

ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。

– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増える

ご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**、Discordサーバーまでお気軽にどうぞ!

**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**
よかったら**LGTM**

元記事を表示

PyenvでAtcoder用のPythonバージョンを管理する

## 動機
AtcoderではPythonのバージョンが最新でなかったり、使用できるライブラリが限定されていたりして、ローカル環境とは勝手が違います
現在(2022/06/04)Cpythonでのバージョンは`3.8.2`でPypyでのバージョンは`3.6.9`(Pypy自体は `7.3.0` )ですが、
自分の場合は、AHCの時にPypyで3.8から追加された`typing.Literal`を使おうとしてWAしたことが2回あるので、いい加減に手を打つことにしました

今回は仮想環境は`pyenv local`だけで擬似的に対応できそうだったので使わないことにしました

## 環境構築
最初に言っておきますが、
ローカルでPypyを使うWindowsの方はこの方法はつかえない(後述)ので、ローカルではCPythonを使うことになります

ここからはWin10の場合の説明です
Mac等の場合はリンクを貼るだけにします

### Pyenvのインストール
[Macの場合はこちら](https://github.com/pyenv/pyenv#homebrew-in-macos)

Wind

元記事を表示

OTHERカテゴリの最新記事