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

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

[前編]そのt検定間違ってませんか?

先日線形回帰分析に関して、基本的でありながら実務家でも間違った理解をしていることが多い点について[解説](https://qiita.com/HiroyukiTachikawa/items/cc2f48161e4da8da69f1)したんですが、t検定についても、間違った情報をもとにした質問をされることがあるので解説します。
とはいえ私も勉強中なので、間違いがあれば指摘いただけるとありがたいです。
ちなみにサンプルサイズ、効果量、検出力についてはいい情報があるので触れていません。本記事ではもっと基本的なトピックを扱います。サンプルサイズ周辺で興味がある方は[TJO氏の記事](https://twitter.com/tjo_datasci/status/1306243667884081155)や[書籍:サンプルサイズの決め方](https://www.amazon.co.jp/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E6%B1%BA%E3%82%81%E6%96%B9-%E7%B5%

元記事を表示

Python、scipyのcurve_fitを使ってミカエリスメンテン式へのfittingを行う

Pythonのscipyを使ってcurve_fitを利用したミカエリスメンテン式へのfittingを行う。
Pandasを利用してデータを読み込み、seabornを用いてグラフを出力します。
この方法を用いてGoogle Colaboratoryでも描画できます。

https://ja.wikipedia.org/wiki/%E3%83%9F%E3%82%AB%E3%82%A8%E3%83%AA%E3%82%B9%E3%83%BB%E3%83%A1%E3%83%B3%E3%83%86%E3%83%B3%E5%BC%8F

モジュールのインポート

まず、必要なモジュールをimportする。

“`
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from scipy.optimize import curve_fit
import seaborn as sns
“`

データの準備

Pandas形式のデータを作成する。
直接コードに書き込む場合は以下

元記事を表示

Asyncio 互換の PostgreSQLドライバ asyncpg

Pythonプログラムに速度を求めていろいろ**asyncio**を試しています。
**(関連過去記事)**
[Python Asyncio入門 – Qiita](https://qiita.com/sand/items/0e445a13d81d20ea33c3)
[Python Asyncio で作る Socket Server -Qiita](https://qiita.com/sand/items/4f27e62c7491b8e85d12)

Asyncio 互換の PostgreSQLドライバ **asyncpg** を試してみました。 特徴は速いことです。公式サイトで公開されている以下のパフォーマンスレポートをご参照ください。
[PostgreSQL Driver Performance Benchmark Report](https://github.com/MagicStack/asyncpg)

以下に**asyncpg**の簡単なサンプルプログラムを掲載します。

“`Python:main.py
import asyncpg
import asyncio

元記事を表示

pythonでMicrosoft Graphを操作する(OneNoteのページ取得)

# Microsopf GraphはMSサービスのAPI
– [Graph Explorer](https://developer.microsoft.com/en-us/graph/graph-explorer#)

利用できるAPIを色々お試しできます。

– [認証のpythonSDK公式ドキュメント](https://msal-python.readthedocs.io/en/latest/)

利用するパターンをクリックするとgit上のサンプルコードが開かれるようになっています。
パターンによってOauth2.0でのトークン付与方法が異なります。
今回の場合はmacbookからpythonで個人アカウントのAPIを叩きます。
何のアプリも通さずに、pythonから直接APIを叩くのでBrowserless Appになります。

![Screenshot_2022-09-05 14.42.29_2lKLoW.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230192/b2dab7b3-eaf

元記事を表示

M1Macで姿勢推定「Kapao」を試す

ヒートマップを使わない姿勢推定「Kapao」をM1MacBookProで試してみます。
ちなみに以前Intel Core i7のMacBookProでもやってみたのですが、普通に動きましたので
多くのMacユーザーが簡単に試せると思います。

こちらのcedroさんの記事を参考に進めます。
[Kapaoで、人物検出と姿勢推定を行う](http://cedro3.com/ai/kapao/)

# Kapaoをクローンする

Google Colabで動くソースが用意されていますが、今回はあえてMacのローカルで動かします。

“`
git clone https://github.com/cedro3/kapao.git
“`

ライブラリのインストールが必要です。
環境に合わせてインストールしてみてください。

“`
pip install torch==1.9.1
pip install torchvision==0.10.1
pip install pytube
pip install imageio==2.4.1
pip install -r requirements.t

元記事を表示

競プロ(Python)で~したいときに使うコード

Python向け。

# ~な入力を読み込みたい
“`Python:整数単独
N = int(input()) # (入力例) 12345
“`
“`Python:空白区切りの整数複数(個数があらかじめ決まっているとき)
A,B = map(int, input().split()) #(入力例) 100 200
A,B,C = map(int, input().split()) #(入力例) 100 200 300
A,B,C,X,Y = map(int, input().split()) #(入力例) 100 200 300 4 5
“`

“`Python:空白区切りの整数複数(個数が決まっているとき)
# (入力例) 1 -2 3 -4 5 -6
A = [int(e) for e in input().split()] # A[2] = 3
# A = [0] + [int(e) for e in input().split()] と下駄を履かせればA[1] = 1 となる
“`

“`Python:改行形式の数値リスト

元記事を表示

【Python】png,jpeg,gif画像をeps形式に変換する

PillowライブラリのImageモジュールにより,png,jpeg,gifなどの画像をeps形式に変換することができます.
Pillowをインストールしているのであれば,怪しいフリーソフトをダウンロードする必要はありません.

“`py:img2eps.py
import os
from PIL import Image

image_path = ‘C:/Users/’ + os.getlogin() + ‘/Downloads/’
image_file = [‘ABC.png’, ‘DEF.jpg’, ‘GHI.gif’]

for i in range(len(image_file)):
im = Image.open(image_path + image_file[i])
# print(im.mode)
fig = im.convert(‘RGB’)
fig.save(image_path + image_file[i].split(‘.’, 1)[0] + ‘.eps’, lossless = True)
“`

ダウンロードフォルダ内

元記事を表示

VSCodeでPythonだけ自動整形が効かなかった時の対処法

自分用のメモ

python.defaultInterpreterPathを編集して,以下のコマンドで表示されるパスを追加する.色々いじったら,デフォルトではVSCodeにpythonのパスがうまく認識されていなかったようだ.

“`
where python
“`

元記事を表示

【Stable Diffusion】面倒事なしでいっぱいAI画像生成する【Google Colab】

# はじめに

この記事では今話題のStable DiffusionをGoogle Colabを利用して無料で使います。
所要時間は10分程度です。
一度初期設定が済めば、二回目からはほぼ作業なしで無限に生成が使えます。

### ちなみに
最も簡単にStable Diffusionを試す方法として[DreamStudio](https://beta.dreamstudio.ai/home)というサイトがあります。
Googleアカウントがあれば誰でもすぐに生成を試すことができるので、AI画像生成とは何か体験してみたい方にはとてもオススメです。
ただし無料アカウントでは200枚までしか生成できないため、それ以上に生成を行いたければこの記事などのような方法を使うことになります。
# 概要
## この記事を読んででできること
・colab上で画像がいっぱい作れる です。

Stable DiffusionをGoogle Colabで動かす記事は既に沢山あります。

本記事ではそれを拡張して、Colab上で見やすく、任意枚数生成できるプログラムを紹介しています。

## 閑話:神絵の作り方

元記事を表示

Wiener deconvolutionをシミュレーションで理解しよう

# はじめに
本記事では撮像画像、点拡がり関数(Point Spread Function, 以下、PSF)、ノイズの3つの情報から真の画像を推定するWiener deconvolutionと呼ばれる手法を紹介する。
一般的な撮像観測では、観測装置の回折等により光源が拡がって撮像される。この拡がり具合はPSFで表され、このPSFを考慮して真の画像を推定する手法の代表としてRL法があるが、一般的に撮像時にPSFによる拡がりの他に電気的なノイズ等が入るため、より現実的なdeconvolutionではノイズも考慮する必要がある。Wiener deconvolutionは、撮像画像、PSF、ノイズの3つの情報から真の画像を推定することができ、本記事ではグレースケール、RGB画像でのシミュレーションにより性質を理解する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1599258/7f25051d-5a3a-1068-11cb-4038374d7d35.png)

# Wiener decon

元記事を表示

Pythonでtar.gzファイルを扱う【tarfile】

# はじめに
Pythonでtar.gzファイルを圧縮や展開する際に最低限必要なコードをまとめてみました。

# sampleのフォルダ構成
サンプルコードは以下フォルダ構成で動かしてみました。

> ├ sample.py
> └ target
>   ├ text1.txt
>   ├ text2.txt
>   └ text3.txt

# tarfileインポート

“`python
import tarfile
“`

# tar.gzファイルに圧縮

“`python
with tarfile.open(‘target.tar.gz’, ‘w:gz’) as tar:
tar.add(‘target’)
“`

# tar.gzファイルを展開

“`python
with tarfile.open(‘target.tar.gz’) as tar:
tar.extractall()
“`

# 一部ファイルのみ展開

“`python
with tarfile.open(‘target.tar.gz’) as tar:
tar.extract(

元記事を表示

scikit-learn データセット分割の覚え書き

# この記事の内容
scikit-learnに付属しているデータセット分割法の覚え書きです。

– ホールドアウト法
– K-分割交差検証(KFold)
– 層化K-分割交差検証(Stratified KFold)
– グループ付き交差検証(Group KFold)
– 時系列データ分割(Time Series Split)

# データセットのインポート
scikit learnのデータセットとして利用できるiris datasetを使用します。
“`python
import pandas as pd
from sklearn.datasets import load_iris

iris = load_iris()
df_iris = pd.DataFrame(data=iris.data,columns=iris.feature_names)

“`
# ホールドアウト法
単純にデータセットを訓練データとテストデータに分割します。(デフォルト=7:3)
“`python
from sklearn.model_selection import train_test_spli

元記事を表示

Blenderファイルの分類方法メモ

## 概要

Blenderファイルを特徴別に分類する方法のメモです。macOSで確認しています。Windowsでは管理者で実行しないとアドオンで使っているos.symlinkが動かないようです。

### 要点

– 対象のBlenderのファイルは1つのフォルダに入れる。
– 各Blenderファイルに特徴などの情報をテキストで持たせる。
– 特徴別にツリー状のフォルダ構成でBlenderファイルのシンボリックリンクを管理し、ドリルダウンで絞り込みできるようにする。

## 実現方法

下記の機能を持つ[アドオン](https://github.com/SaitoTsutomu/EditTag)を試しに作ってみました。

– 情報追加(`Add Info`)
– URL表示(`Open URLs`)
– タグ追加(`Add Tag to other`)
– リンクツリー(`Link Tree`)

**アドオンのパネル**

Pythonでファイルのタイプを特定する

“`python
import mimetypes

mediaType = mimetypes.guess_type(“your_file_path”)[0]
if not (mediaType == None):
if mediaType.startswith(‘video’):
print(‘video’)
elif mediaType.startswith(‘image’):
print(‘image’)
elif mediaType.startswith(‘audio’)
print(‘audio’)
elif mediaType.startswith(‘application’)
print(‘application’)
elif mediaType.startswith(‘text’)
print(‘text’)
else:
print(“None”)
“`

ディレクトリやmimetypesのタイプ一覧にないパスはNoneを返す。

一覧はこちら。

“`
pprint.pprint(mimety

元記事を表示

maya python hide all

“`python
import maya.cmds as cmds

modelPanels = cmds.getPanel(type = ‘modelPanel’)

for eachmodelPanel in modelPanels:
cmds.modelEditor( eachmodelPanel, e=True, allObjects= False)
“`

元記事を表示

[Docker] seleniumでUserProfileを利用する

## 前置き

 こんにちは。Dockerを用いたpython環境でseleniumを利用しようとした際、UserProfileを利用するところで詰まったので共有します。調べたところによると、この不具合はlinux環境のみで生じるようです。

## TL;DR

“`Dockerfile
FROM joyzoursky/python-chromedriver:3.7-selenium

ARG UID=1000
ARG GID=1000
ARG USERNAME=hoge
ARG GROUPNAME=fuga
# UID, GIDはDockerを利用するユーザーに合わせる
# `id`コマンドで確認可能

RUN groupadd -g $GID $GROUPNAME && \
useradd -m -s /bin/bash -u $UID -g $GID $USERNAME

COPY . /home/$USERNAME/
WORKDIR /home/$USERNAME/

RUN pip install –upgrade pip
RUN pip install –up

元記事を表示

maya python world transform

“`python
from maya.api.OpenMaya import MVector, MMatrix, MPoint
import maya.cmds as cmds

def get_world_transform (obj):
return MMatrix ( cmds.xform( obj, q=True, matrix=True, ws=True ) )

selected_object = (cmds.ls(sl=1,sn=True))[0]

print ( get_world_transform( selected_object ) )
“`

元記事を表示

クッキー画像でサクッと異常検知AIを作る

# 動機
AIを使って異常検知(製品の良品・不良品を見分ける等)を行いたいと考えたことがある人は多いのではないでしょうか?実際にAIが得意とする分野ではありますが、実際に取り組んでみると、不良画像のデータが十分に収集できない、異常判定の可視化が難しいなど、躓くポイントが多かったりします。

今回は、シンプルな実装かつ最小のリソースで異常検知を実現するための手法の一つとして「オートエンコーダ」と呼ばれるAIモデルを、実際のコードサンプルや動作例と共に紹介したいと思います。

# オートエンコーダ(自己符号化器)[^1]
オートエンコーダはニューラルネットワーク構造のパターンの一つで、入力データを一度低次元データに変換するパート(エンコーダ)と低次元データから画像を復元するパート(デコーダ)で構成されます。モデル全体の目的としては、入力データをなるべくそのままに出力することです。
入力データがそのまま出力データとして出てくることに何の意味があるねん、と思われるかもしれません。このAIモデルのミソは「**途中で縮小されたデータに変換される**」という部分です。これにより、モデルは元データ復元

元記事を表示

【LINE WORKS】IFTTTを経由してカレンダーを連携してみる

# はじめに
LINE WORKSのカレンダー機能はAPIも提供されており、それを使うことでカレンダー上で何かの実行スケジュールを管理することも可能。

今回は、IFTTTを経由してカレンダーの予定と連携する仕組みを作った。

![calendar_batch-概略図.drawio (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241369/26214d0a-57ad-d2b7-e64b-d9fdfe512e3c.png)

# ソースコード
https://github.com/mmclsntr/lineworks-calendar-ifttt-integration

## 利用した言語・フレームワーク等
– 言語 : Python 3.9
– デプロイ : [Serverless Framework](https://www.serverless.com/framework/docs)
– 開発フレームワーク : [AWS Lambda Powertools for Python](htt

元記事を表示

gensimで類似単語を取得する

# はじめに
データ分析をする際に,とある単語に対する類似単語を取得したかった。

# 概要
Pythonの自然言語処理ライブラリであるgensimと学習済み単語ベクトル表現を用いて,とある単語に対する類似単語を取得する。

# 準備
pipでgensimをインストールする。
“`bash
$ pip install gensim
“`

学習済み単語ベクトル表現をダウンロードする。今回はFacebookが公開しているfastTextを使う。結構サイズが大きいのでダウンロードには少し時間がかかる。

“`bash
$ wget https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.ja.300.vec.gz
“`

# プログラムの作成

ダウンロードした学習済み単語ベクトル表現と同じ階層にプログラムを作成する。
“`
directory
├── ruizi.py
└── cc.ja.300.vec.gz
“`

“`Python:ruizi.py
import gensim

model = g

元記事を表示

OTHERカテゴリの最新記事