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

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

はじめてのぎっとはぶあくしょんず

# きっかけ
GitHubActionsを最近学んでいます。もしGitHubActionsで自動テスト動作する環境を作るためには、どういう感じに書くのだろうか、と思い作ってみました。

# 実施した内容
– CIの自動テストをGitHubActionsで動かす
– 主なライブラリはPytestとLocalStackを使う
– 疑似プロダクションコード(main.py)は、S3にオブジェクトをを作成する
– テストコードでは(test_main,py)は、指定したオブジェクト名がS3に存在するかテストする

“`yml
name: localstack-ci-example
on: pull_request

jobs:
ci-example:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v2
– name: start LocalStack
run: docker-compose up -d localstack
– name: Wait f

元記事を表示

Django HTMLファイルの表示と変数の渡し方

## 必要なフォルダを作成後、htmlファイル作成

1. migrationsと同じ階層に【templates】フォルダを作成
2. templatesフォルダの下に【好きな名称(今回はappとする)】フォルダ作成
3. app内に【index.html】を作成

“`
app名フォルダ

|- migrations

|- templates – app – index.html
“`

“`index.html






Django練習

Hello Django


元記事を表示

時系列解析(統計検定準1級の範囲)(2022.5.19)

# 背景
統計検定2級の範囲である統計的推定・検定、一元配置分散分析を終えたので準1級の学習を始めました。私の学習の手順として自分が学びたい所から始めるというのがあります。今回は前から適当な理解しか出来てなかったので、これを機にきちんと学びたいと思いました。
# データの読み込み
今回は「航空会社の国際線での乗客数」のデータを使います。いつもの様にpandasで読み込みます。
“`Python
# データセットの読み込み
import pandas as pd
url=’https://www.salesanalytics.co.jp/591h’ #データセットのあるURL
df=pd.read_csv(url, #読み込むデータのURL
index_col=’Month’, #変数「Month」をインデックスに設定
parse_dates=True) #インデックスを日付型に設定
df.head() #確認
“`
![image.png](https

元記事を表示

django-allauthでページをカスタマイズする際のファイル名一覧

# はじめに
当記事は`django-allauth`でページをカスタマイズする際のファイル名が検索しても一部しか載っていなかったりしたので、備忘録を兼ねて一覧を記しています。
Djangoやdjango-allauthの導入方法などは触れていませんのでご注意ください。
また、漏れやミス等ありましたらご指摘していただけると幸いです。

# django-allauthバージョン

“`
pip list|grep django-allauth
django-allauth 0.50.0
“`

# ページと対応するファイル名一覧
以下に、ページ名と作成すべきファイル名の一覧を示しています。
| ページ名 | ファイル名 | ページ機能概要 |
|———–|————|————|
|Sign In|login.html|ログインページ|
|Sign Up|signup.html|新規登録ページ|
|Verify Your E-mail Address|verification_sent.html|新規

元記事を表示

Bokeh ホバーで表示されるデータが多いときの対処法

Bokehで、ホバーツールつきでローソク足チャートをプロットするとき、
ホバーで表示されるデータが多くなりすぎて、ダサくなることがあります。

[公式サイトのローソク足の例](https://docs.bokeh.org/en/latest/docs/gallery/candlestick.html)でも、MSFTデータをフルに使って、TOOLSにhoverをいれると、ホバーで表示されるデータが10点分くらいになったりします。あまり実害はないんですが、、、

しかしまあそんなときは、ホバーで表示するデータを、renderersに適切に指定することで対処できます。
以下は公式サイトのローソク足の例に追記するところだけ記載しています。

“`python
from bokeh.models import HoverTool

・・・

r1 = p.vbar(
df.date[inc], w, df.open[inc], df.close[inc],
fill_color=”#D5E1DD”, line_color=”black”
)
r2 = p.vbar(
d

元記事を表示

pip freezeコマンドが叩けない場合にモジュールから呼び出して実行する

requirements.txtを作成したいが、Windows + PyCharm環境でpip freezeしようとすると権限の関係で実行できなかったときに対処した方法

コマンドがダメならモジュールを呼べば良い。

“`a.py
import pip

pip.main([‘freeze’])
“`

“`
> python3 a.py > requirements.txt
“`

元記事を表示

Python で変数の使い回し (再代入の繰り返し) をすると、型ヒントは容易く無力になる。

## 要約

– Python を書く時、変数は再代入をしないほうが良い。 (この記事内容に関わらず)
– 変数の使い回し (再代入の繰り返し) をすると、ときに型ヒントは無力になる。
– この現象を VSCode + Pylance の環境で確認した。

## イントロ

業務や趣味などで実装を行っていると、気づけばコード量は 3 桁、時には 4 桁に差し掛かるような python ファイルが出来てしまう。
こういったファイルにおいて処理の追加やバグ修正など行っている時に、ふと VSCode + Pylance 上で補完がうまくできないケースが発生していた。

例えば `a: Foo = Foo()` といった型ヒントを書いているものの、次の行あたりで VSCode 上では `a:Bar()` と認識されている。
一見すると、変数 `a` では Foo クラスに実装したメソッド `Foo.hoge()` のようなものが使えないように見えてしまっていた。

直前に `a:Foo = Foo()` と型ヒントを明示的に書いているのに、次の行では VSCode 上ではエラーの表示。
明ら

元記事を表示

Coding 日記 #2

## Human Readable Time
### Question:
In this simple Kata your task is to create a function that turns a string into a Mexican Wave. You will be passed a string and you must return that string in an array where an uppercase letter is a person standing up.
1. The input string will always be lower case but maybe empty.

2. If the character in the string is whitespace then pass over it as if it was an empty seat
#### Example:
wave(“hello”) => [“Hello”, “hEllo”, “heLlo”, “helLo”, “hellO”]

###

元記事を表示

【python】playwrightの評価環境を作る

# 1.やりたいこと
PlaywrightでWebブラウザの操作を行い、操作結果をpytestで管理できるよう環境構築します。
自動操作対象のWebサイトは、「UI Test Automation Playground」(*1)を利用します。

| フレームワーク | 説明 | 公式DocuemntのURL|
|:———:|:———–|:———:|
| Playwright | マイクロソフト社が作っているブラウザを自動で操作する||
| pytest | Pythonで書いたプログラムをテストする|

# 2.環境
macOSでPlaywrightの環境を構築します。
 ・macOS 12.4(monterey)
 ・Python 3.7.6
 ・pip 22.1
# 3.環境設定
ターミナルを起動させ以下コマンドを実行します。
pip listでplaywrightとpytestがあればインストール成功です。
“`ruby:ターミナル

元記事を表示

GAN:敵対的生成ネットワーク と 機械学習プロジェクト

# GAN:敵対的生成ネットワークとは何か 「教師なし学習」による画像生成

https://www.imagazine.co.jp/gan%EF%BC%9A%E6%95%B5%E5%AF%BE%E7%9A%84%E7%94%9F%E6%88%90%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B%E3%80%80%EF%BD%9E%E3%80%8C%E6%95%99%E5%B8%AB/

「敵対的生成ネットワーク」(Genera tive Adversarial Networks。以下、GAN)

GANは生成モデルの一種であり、データから特徴を学習することで、
実在しないデータを生成したり、存在するデータの特徴に沿って変換できる

とされてます

GANの特性を利用した応用研究として、以下が挙げられます

GANによる超解像を利用して、物体検出における解像度の低い検知対象の検知率を向上させる

https://arxiv.org/abs/1706.05

元記事を表示

Pythonで変数に変数代入したら思っていたのと違ったので値渡しと参照渡し等について整理した【ゼロからPython勉強してみる】

# はじめに
これまでの記事でとりあえずPythonを勉強する準備が整い、四則演算だとか変数に値を代入してみたりしてたのですが、その中で以下のような状況に出くわし、なんでか調べたので備忘録としてメモします。

### int型のデータを変数に代入してた時

まずこの状況、`b=a`で`b`に`a`の値である`1`を与えて、その後`a`の値を変更しようが`b`の値が連動して変わらないんだなそういうもんなんだなと思ってました。
“`python:パターン1
>>>a = 1 #変数aに1という値を代入
>>>b = a #変数aに変数bの値を代入

#aもbも値は1
>>>print(a)
1
>>>print(b)
1

>>>a = 0 #変数aに0という値を代入

>>>print(a)
0
>>>print(b)
1 #bの値は1のまま
“`

### list型のデータを変数に代入してみた時

しかし、list型のデータで同じようなことをやってみたら、変数`b`の値も一緒に代わっていたのです。

“`python:パターン2
>>> a=[1,2] #

元記事を表示

なんちゃって解説 第1回 – ABC251 A~C問題

# はじめに
こんにちは、ひろとです。この記事は題名の通りABCをなんちゃって解説していきます。今から書いてある内容は競プロを1年弱やっている高校生なりの見解です。玄人の方々からしたら「違うそうじゃない」となることが多いかもしれませんが、その際はコメントの方でご教示いただけると幸いです。

# 記事の対象
このシリーズは最低限のPythonの知識を持っていて、AtCoderを始めたての方々を対象としています。もしPythonの知識に不安があったり読んでいる途中でわからないことが出てきたら[Qiita](https://qiita.com)で検索してみたり、[Google大先生](https://google.co.jp)で調べてみることをおすすめします。Googleなどで調べる際は`Python (知りたい内容)`のように調べると比較的出てきやすいんじゃないかなと思います。(ex. `Python set 使い方`)

# Pythonのバージョンについて
基本的にはAtCoderのジャッジシステムで使われているバージョン(記事執筆時点では`3.8.2`)を使います。

# ABC25

元記事を表示

1行のPythonで\(^o^)/を描く

# はじめに
あるDiscordサーバーのbotで遊んでいたところ,コードをQiitaにまとめてほしいと言われたので,そのコードのうちの一つについて紹介と解説をしてみたいと思います.このような文章を書くのは初めてなので,表現の誤り等があれば指摘していただけるとありがたいです.

# 本題のコードと実行結果
早速,\(^o^)/を描くコードを実行してみます.
“`python:owata.py
print(“\n”.join(“”.join((“0” if abs((i-30)**2+(j-7)**2-4)<2 or max(abs(j-abs(abs(i-30)-7)-1),j/5)<1 or abs((i-30)**2+5*(j-5)**2-300)<15 or abs(j+abs(i-30)-30)<1 else " ") for i in range(61)) for j in range(10))) ``` ```:実行結果 0 0 0 0 0

元記事を表示

重回帰分析にダミー変数を使うとき

# 重回帰分析にダミー変数を使うとき

## 1. 重回帰分析に使用するデータ

“`python
import pandas as pd

df5 = pd.DataFrame({
‘x1’: [2, 2, 3, 1, 2, 3, 2, 2, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 1, 1],
‘x2’: [2, 2, 3, 2, 2, 1, 2, 3, 2, 3, 2, 1, 3, 2, 2, 1, 1, 3, 2, 1],
‘y’: [17, 20, 24, 15, 20, 19, 20, 22, 20, 26, 24, 14, 22, 23, 23, 19, 13, 27, 17, 13]})
“`

前の記事では $x_1$, $x_2$ ともに連続変数として,そのまま説明変数として使った。

今回,$x_2$ をカテゴリー変数として扱うことにする。

`pd.get_dummies()` により,$k$ 個のカテゴリーを表すために **冗長ではあるが** $k$ 個のダミー変数を作る。

$k$ 個のダミー変数は一次従属なので,正規

元記事を表示

Pythonで文字列をn文字ごとに区切る

シュッと区切りたいときがあったのでメモ

“` py
s = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’
n = 3
[s[i:i+n] for i in range(0, len(s), n)]
“`

元記事を表示

<簡単>量子コンピュータ(シミュレータ)演習環境の準備

前提:
・量子コンピュータの演習をするにあたって、まずは全て無料で検証を始めたい
・難しい理屈は分からないが、量子コンピュータを使って何か作って楽しみたい(下記のイメージ)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/dc687a61-e59c-5e01-7177-a1437a7fcb10.png)

1、量子コンピュータ(シュミュレータ)演習環境の準備
 ・Anaconda3は商用の利用が禁じられているので、将来的な商用の利用も考えて、Python3.5later+JupyterNotebookを使って構築する。
 (1)Python3だけ単体でダウンロードしてインストールする(今はパスもインストール時に設定出来る)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608295/d5d11a85-3340-26ec-adea-c988f995d0ad.png)

元記事を表示

【Python】Instagramで任意のアカウントを自動フォローする

# 初めに
 現在までの記事で、seleniumを用いたログイン、instaloaderを用いたフォロワー全件取得を行ってまいりました。
 ことすたぐらむフォロー機能1の最後の工程として、任意のアカウントのプロフィールにアクセスし、フォローする機能を実装したいと思います。
 この工程で、instaloaderで取得した、アカウントをフォローすることができます。
 ではまず、ソースコードを記載します。
# ソースコード
“`python:main.py
import argparse
from instagram import Instagram
from instagram import INSTAGRAM_ID,INSTAGRAM_PASSWORD

if __name__ == ‘__main__’:

#IDとpasswordをコマンドライン引数から取得する
parser = argparse.ArgumentParser()
parser.add_argument(‘id’)
parser.add_argument(‘password’)

元記事を表示

生まれてから1万日がいつか調べてみませんか?

# 生まれてから1万日が経ちました!
私事ですが、少し前に生まれてから1万日を迎えました!

誕生日はお祝いするけど、生後1万日目をお祝いする人はきっと少ないですよね?

ざっくり計算で1万日って27年と4か月かかります。

これって誕生日くらいお祝いしてもいい節目だと思うんですよね。

ということであなたが今生まれて何日経ったかを調べてみませんか?

この記事では

生まれてから何日経ったか?
生まれてから1万日はいつなのか?
を調べるコードを作ってみました!

# Magicodeですぐにお試しできます
実はこの記事はMagicodeにも投稿しています。↓↓

https://jp.magicode.io/comapi/articles/c9e067d196a84f7bbd074de126ef1ef9

Magicodeはブラウザ上でコードを実行することができるエンジニア向けのブログサービスです。

コードは編集して実行することができるので、皆さんの誕生日に書き変えてすぐに生まれてから1万日を確かめることができます!

Magicodeについてより詳しく知りたい方は以下にリンクを貼

元記事を表示

Colaboratoryを使って音声認識voskをマイクで試す

# vosk
日本語モデルのある音声認識kitらしい
こちらで紹介されていて気になったのでcolaboratoryで使ってみる

https://qiita.com/hatt_takumi/items/0aedc8f6768cd8efee5e

colaboratoryのリンクは都合により貼れないので、使ってみたい方は全文コピーで使用してください

# インストール

voskのインストールのほかにvoskの日本語用モデルが必要
また、colaboratoryではマイクが認識されないため、javascriptで呼び出して録音をするらしい
そのためにsounddeviceとlibportaudio2、またwav形式の変換のためにffmpegをインストールする
“`
!pip install sounddevice vosk
!apt-get install libportaudio2 ffmpeg

!wget https://alphacephei.com/kaldi/models/vosk-model-small-ja-0.22.zip
!unzip vosk-model-smal

元記事を表示

GoogleColabでクラウドストレージのwasabiを使う方法(boto3)

S3互換で安いクラウドストレージサービスのwasabiをGoogleColabと連携して使いたいと思ったので自分用にメモしておきます。

1.認証
2.ファイルの一覧取得
3.ダウンロード
4.アップロード
5.バケット作成
を記載しておきます。

“`
# 必要なライブラリのインストール
!pip install boto3 -q
import boto3

# 認証情報
aws_access_key_id = アクセスキー
aws_secret_access_key = シークレットキー
region = リージョン # リージョン一覧 → https://wasabi.com/locations/
bucket = バケット名

# S3アクセス準備
s3 = boto3.resource(‘s3’,
endpoint_url=f”https://s3.{region}.wasabisys.com”,
aws_access_key_id=aws_access_key_id,

元記事を表示

OTHERカテゴリの最新記事