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

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

Python で Azure Activity-Log を取得してみました

## 概要
Azure SDK for Python を利用して、とある LogAnalyticsワークスペース に保存されている Activity-Log を、クエリ処理してログを抽出する Python プログラムです。

### 実行環境
macOS Monterey 12.1
python 3.8.3

### 前提条件

Activity-Log が LogAnalyticsワークスペースに宛先設定れており、そのワークスペースIDを取得できていること
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/cfb1c5ae-0183-d8a4-0c0b-9b5f39c182e5.png)

### 実行プログラム

“`python:GetWorkspaceLogsQuery.py
import time
import argparse
import pandas as pd
from azure.core.exceptions import HttpRespon

元記事を表示

【画像処理】NumpyでDoGフィルター

NumpyでDoG(Diffrence of Gaussian)フィルターを実装してみます。
DoGフィルターでは、$\sigma$の値が異なる2つのガウシアンフィルターをそれぞれ適用し、その差分を求めます。

まず、DoGフィルターを適用する画像を読み込んでグレースケール画像にします。

“`python
import numpy as np
import matplotlib.pyplot as plt

original_image = plt.imread(image_name)
if np.issubdtype(original_image.dtype, np.integer):
original_image = original_image / np.iinfo(original_image.dtype).max
gray_image = 0.2116 * original_image[:,:,0] + 0.7152 * original_image[:,:,1] + 0.0722 * original_image[:,:,2]
plt.imshow(gray_ima

元記事を表示

FastAPI+React+DockerでQiitaみたいなサイトを作ってみたい -6日目-

# 目次
– [1日目 – 初期構成](https://qiita.com/ikeikeda/items/eeed5abb2230bf031ba5)
– [2日目 – /docsの作成](https://qiita.com/ikeikeda/items/478b9e9c45b95d8bb482)
– [3日目 – DBとModelの作成](https://qiita.com/ikeikeda/items/5a12fef0fc39d8a5e1c3)
– [4日目 – CRUDの作成](https://qiita.com/ikeikeda/items/ba73f21676d315468a07)
– [5日目 – Testの導入](https://qiita.com/ikeikeda/items/f9a738fcf2e6d6022543)

# テストの導入
色々と仕様や導入方法などを調べていたらだいぶ時間が経ってしまったが、
前回大体の機能の実装ができたので、まずはテストを導入していく

# テストの実行
とりあえずテストを実行するまで
## ライブラリの導入
backendの環境の中に入

元記事を表示

Youtube APIを使って動画の視聴回数動向をExcel出力しグラフ化

##はじめに
– こんにちは!KDDIプラットフォーム技術部の山口です!
– 今回はPythonを使ってYoutubeのAPIを呼び出して視聴回数動向のグラフを作成するプログラムを備忘として残しておきます。
– スクリプト中に無駄な部分があるのは許してください。笑

##対象者
– Pythonを使ったYoutubeAPIの使い方に興味がある人
– グラフ作成を自動化してみたい人

##項目
1.概要
2.スクリプトとグラフ
3.おわりに

##概要
– 流れ:①YoutubeAPIKEYを作成、②任意の動画のIDをURLから取得、③プログラムを作成、④実行してファイルに出力(私の場合はExcel)

– API Keyの作成方法については以下のURLを参考にしました。
1.【データサイエンス】YouTubeのAPIを使ってYouTube内のデータを収集してみよう
https://blog.codecamp.jp/programming-api-youtube
2.Youtube Data API Key の取得手順
http://piyohiko.webcrow.jp/kids_tu

元記事を表示

googlecolabで画像を複数一気にアップロードして表示させる方法

#はじめに

googlecolabを使っているとローカルから画像をアップロードしたくなることがありますよね。
そんな時、ちゃんとアップできたか確認するために画像をすべて表示したくなることがあります。
複数パスの取得など躓いたところがあったので書いておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/50af088d-f76b-3d41-d1a6-e16b4f4035bc.png)

#コード

こちらの記事を参考にしました。

https://qiita.com/5at00001040/items/d7867974d2fd1d21dbbf

アップロードについては`files.upload()`ででき、以下のようなものが表示されるようになります。
この際、複数ファイルを選択してしたり、`ファイル選択`の部分に複数ファイルをドラックアンドドロップすることでまとめてアップロードすることができて便利です。

![image.png](https://qiita

元記事を表示

VSCodeのPrettier+black環境の作り方

# Formatterとは
コードの種類に応じて、自動で空白とか改行などの整形を行う拡張機能のこと。
有名なものでは、Prettier(JS, TS, yaml, html等が対応)やBlack(python用)などがある。
基本的にはPrettierを用いれば、大抵のプログラムは対応しているが、
PrettierはPythonに非対応のため、Pythonの時のみBlackを使うように設定する必要がある。

# Prettierのインストール
VSCodeでPrettierを使用するには、拡張機能をインストールします。
まずVS CodeのExtension panelでPrettier-Code Formatterを検索しインストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/346471/cd23be27-049c-8a10-552b-f0d04893b5b4.png)

## default formatterをPrettierに設定
画面左上のタブから`Code→基本

元記事を表示

Bullseyeで緊急避難的なTFlite環境

# 1.はじめに

Raspberry Pi OSをBullseyeに変えたら、OpenCV(が要求するライブラリ)のインストールができなくてこまったりしたので、BullseyeでTFLite動かすための緊急避難的な覚書。ちなみにBusterなら[こちら](https://qiita.com/karaage0703/items/38f314d01a67ded949c2)や[こちら](https://qiita.com/airpocket/items/82fd19af15b068318e98)で動く(はず)。

OSのバージョンはこちら。

“`sh
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
“`

# 2.OpenCVインストール

OpenCV(opencv-python)自体はpipでインストールできるのですが、依存ライブラリ

元記事を表示

【多クラス分類問題】LightGBMにてパラメータチューニングの有無で精度を比較

#1.目的
MNISTデータ(0から9までの手書き数字)を分類するモデル(多クラス分類モデル)をLightGBMを用いて実装する。
その際にハイパーパラメータをチューニングしないモデルと、チューニングしたモデルの精度を比較する。
チューニングはOptunaを用いて行う。その使い方等をメモ程度に置いておく。

#2.MNISTとは
MNISTはMixed National Institute of Standards and Technology databaseの略で、手書き数字画像60,000枚とテスト画像10,000枚を集めた、画像データセット。
0~9の手書き数字が教師ラベルとして各画像に与えられている。
詳しくは[こちら](https://atmarkit.itmedia.co.jp/ait/articles/2001/22/news012.html)
今回はKerasで公開されているMNISTを使う。

#3.使用ライブラリ

“`Python
import lightgbm as lgb
import pandas as pd
import numpy as np
fro

元記事を表示

なぜディープラーニングをするのか?について調べてみた件2(ロジスティック回帰)

先日は論理ゲートを使ってなぜディープラーニングをするのかについてコードを動かしてみました。今回は、人工的にですがデータを使って線形分離が不可能な物を3層のニューラルネットワーク(ディープラーニングと言っておきながらディープじゃないですね)を使って確認しています。なお、参考にしたのは和歌山大学で知能システム演習の講義を持たれている八谷大岳先生の物です。先生のブログとYouTube、GitHubを参考にさせてもらっています。元の資料のリンクはcolab内に貼っていますのでそちらを確認して頂ければと思います。
[Colab:なぜディープラーニングをするのか?について調べてみた件2(ロジスティック回帰)](https://colab.research.google.com/drive/1DNEE-XdHmaxjgeDaawhysrHGYyoL0KWK?usp=sharing)
今回は先生のGitHubをフォークした物を講義資料(ブログとYouTube)に従って、コードを追加したり、自分で課題を作って修正したりしています。このような投稿は初めてですので不備があるかと思います。何か決定的な

元記事を表示

python+opencvで画像処理の勉強5 幾何学的変換

pythonとopencvを使って画像処理を勉強していきます。

前回
python+opencvで画像処理の勉強4 周波数領域におけるフィルタリング
周波数フィルタリングについて学びました。

https://qiita.com/tanaka_benkyo/items/bfa35e7f08faa7b7a985

今回は幾何学的変換について学び、最後は応用として画像のつなぎ合わせを行います。

使用画像は旭川動物園のペンギンの散歩の写真です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358656/622cdc12-faba-c532-6c83-6818cde69498.png)

## 線形変換
### 線形変換の一般系
座標$(x,y)$の位置の点が、変換により座標$(x’,y’)$に移動するとする。
そのとき、以下の式で表される変換を**線形変換**と呼ぶ。

“`math
\left[\begin{array}{c}
x’\\
y’
\e

元記事を表示

[Python]docstringのGoogleスタイルの書き方

# docstringとは
**docstring**とは、関数やクラスに対する説明を記載する方法の1つ。**docstring**を記載することで、ドキュメントをHTML形式で自動生成することもできる。**docstring**の基本的な書き方としては、関数やクラス定義の先頭に“`”’“`または“`”””“`で説明を囲む形で記載する。慣例的に“`”’“`よりも“`”””“`が使用されることが多い。説明文を関数やクラス定義の先頭に記載せず、間に処理が記載されると**docstring**として認識されなくなる。

“`python
def my_function():
“””<関数の説明を記載>“””
“`

また**docstring**には、引数や返り値などの書き方に以下のような3つのスタイルがある。
・reStructuredTextスタイル
・NumPyスタイル
・Googleスタイル
その中の**Googleスタイル**の書き方について簡単にメモしておく。

# Googleスタイル
GoogleのPythonスタイルガイドで定義されている*

元記事を表示

#Python5_tkinterをさわってみる

#Python入門その5
##tkinterでGUIをつくってみる。

###GUIとは
これから先、GUIだのCUIだのを聞くことが増えると思います。
まず、UIとは***ユーザーインターフェイス***のことです。
ユーザインタフェースは、機械、特にコンピュータとその機械の利用者の間での情報をやりとりするためのインタフェースである。(Wikipediaより)
もっとわかりやすく言うと、例えばアプリの使用者が入力をしたり、見て情報を受け取ったりする画面のことです。これをユーザーインターフェイスといいます。

その中で、GUIは***グラフィカルユーザーインターフェイス***のことです。
UIの中でも、画面のボタンを押したりすることができるインターフェイスのことを指します。マウスや指で操作することができるもの、と思ってください。

また、CUIは***キャラクターユーザーインターフェイス***のことを指します。
こちらは、すべての操作をキーボード入力で行うインターフェイスを指します。コマンドプロンプト(映画の中でハッカーとかがパチパチ打ってるあれ)などがCUIです。すべてキーボード入力で

元記事を表示

なぜディープラーニングするのか?を自分なりに調べてみた件

雑な投稿ですが、なぜディープラーニングをするのかについて調べてみました。
要は線形分離不可能な物を分けるためですが、それをイメージするために3次元で表した物です。深層学習で可視化するとsigmoid的な曲線が描写されて面白いです。
https://drive.google.com/file/d/140DSzbIY0YyywwWmTGSv86-Qf1e2HG2m/view?usp=sharing

参考
[なぜディープラーニングするのか?を自分なりに調べてみた件2(ロジスティック回帰)](https://qiita.com/tan0ry0shiny/items/343ebe8ed5840603abc8)

元記事を表示

【MediaPipe】FaceMeshで取得した468点の座標から3次元顔を再現できるか?

#疑問
MediaPipeのFaceMeshを使うと、2次元人物画像から人の顔表面468点の3次元座標を推測してくれます。この座標と、該当する画素値を取得すれば、顔の3次元モデルを再現することができるのではないか?と思い、ためしてみました。
#結論からいうと…
ローポリの顔モデルを作ることができました。しかし、顔と認識できるものの、ローポリなため完全な再現はできませんでした。やはり、より多くの点群が必要だとわかります。
・元画像
![test.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547667/015d0853-0313-5ad7-02f7-8477b8b898ae.jpeg)
Photo by Yonas Bekele on PythonからTwitterと天気予報のAPIを使って定期ツイートをする

#初めに
タイトルの通りPythonを使用して定期ツイートをするプログラムを作りました。
使用したライブラリはtweepy、使用した天気予報APIは[天気予報 API(livedoor 天気互換)](https://weather.tsukumijima.net/)です。
lolipopというレンタルサーバー上にアップロードして定期実行させています。

#目次
1.Twitter APIの取得
2.tweepyのインストールとテスト
3.天気予報APIの取得とテスト
4.最後の仕上げ
5.サーバーにアップロード
6.サーバー側にtweepyをインストール
7.サーバー上で定期実行

#1.Twitter APIの取得
これが一番大変でした。
[Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ](https://qiita.com/kngsym2018/items/2524d21455aac111cdee) を参考にして登録しました。
元々持っていたアカウントを使用しました。手順は以下の通りです。

1.電話番号認証をする
2.Twitter Dev

元記事を表示

cartopyで地図上にデータを描いてみる

#はじめに
 地図上にデータを重ねて描く方法をまとめました。気象データなどの解析をしていると、地図があったほうがわかりやすく、他人に説明する場合もイメージしてもらいやすいな、と感じるときがよくあります。
 そこで、今回は次の、よく仕様する2点を順にまとめました。

・正方位図法(Plate Carree)
・正距方位図法(北極、南極中心)

##地図を図法ごとに描画する。
####下準備
・numpy
・matplotlib
・cartopy
次のように必要なライブラリを呼び出します。

“`python
import numpy as np
import mayplotlib.pyplot as plt
import matploblib.path as mpath
import cartopy.crs as ccrs
“`
これだけです。
###正方形図法(Plate Carree)
まずは、もっともよく目にするであろう、緯線と経線が等間隔に直交している図法です。

“`python
fig = plt.figure(1, figsize=(8, 6), facec

元記事を表示

Day002 : Botterまでの道のり(使っているライブラリのメモ)

# シリーズ前後5つ

+ [まだ](https://google.co.jp/)
+ [まだ](https://google.co.jp/)
+ [まだ](https://google.co.jp/)
+ [まだ](https://google.co.jp/)
+ [Day001 : Botterまでの道のり(LSTMについてぼんやり理解する)](https://qiita.com/InvestorX/items/36f352c1cf3683ae4deb)
+ Day002 : Botterまでの道のり(使っているライブラリのメモ) <- 今ここ + [まだ](https://google.co.jp/) + [まだ](https://google.co.jp/) + [まだ](https://google.co.jp/) + [まだ](https://google.co.jp/) + [まだ](https://google.co.jp/) # 動機 モデルをどうやって作ろうかなと思ったときに,まずなんとなくでも理解する必要があると思って・・・。 シリーズ全体が200記事くらい書

元記事を表示

[py2rb] itertools.product

# はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
# product (Python)
“`python
import itertools

A = [(‘a’, ‘b’, ‘c’), (‘d’, ‘e’), (‘f’, ‘g’)]

print(list(itertools.product(*A)))

# [(‘a’, ‘d’, ‘f’), (‘a’, ‘d’, ‘g’), (‘a’, ‘e’, ‘f’), (‘a’, ‘e’, ‘g’), (‘b’, ‘d’, ‘f’), (‘b’, ‘d’, ‘g’), (‘b’, ‘e’, ‘f’), (‘b’, ‘e’, ‘g’), (‘c’, ‘d’, ‘f’), (‘c’, ‘d’, ‘g’), (‘c’, ‘e’, ‘f’), (‘c’, ‘e’, ‘g’)]
“`
https://docs.python.org/ja/3.7/library/itertools.html#itertools.product

> ジェネレータ式の入れ子になった for ループとおよそ等価です。たとえば

元記事を表示

ABC82メモ

# ABC82 メモ
## [A – Round Up the Mean](https://atcoder.jp/contests/abc082/tasks/abc082_a)

$a$と$b$を足して2で割った計算結果を切り上げる。
これは$a+b+1$を2で割って切り捨てたものと等しい。

“`python:82A.py
a, b = map(int, input().split())

ans = (a+b+1)//2
print(ans)
“`

## [B – Two Anagrams](https://atcoder.jp/contests/abc082/tasks/abc082_b)

$s$と$t$を一度リストにして、$s$を昇順、$t$を降順にそれぞれ並び替え、文字列に戻す。
文字列同士の比較演算は、辞書順で比較されるため、問題文通りそのまま比較。

“`python:82B.py
s = input()
t = input()

s = list(s)
t = list(t)

s.sort()
t.sort(reverse=T

元記事を表示

テレビゲームのRTAにおける最適チャート追求の部分理論化:「進め!キノピオ隊長」の場合

# 改訂履歴
– 2022/01/12: 初版(計算結果なし)

# ネタバレ注意
:::note warn
本記事は、「進め!キノピオ隊長」というテレビゲームソフトや、そのほかのスーパーマリオシリーズのゲームソフトのネタバレを含みます。それでもかまわない方のみ、読み続けてください。
:::

# テレビゲームのRTAと数理最適化
テレビゲームの楽しみ方の一つに、何らかの設定された条件のもとでゲームソフト上の指定された地点や状態などから別の指定された地点や状態などに至るまでを人力操作によりできるだけ短時間で達成することを目指す「[**RTA**](https://rtain.jp/)」があります。例えば、「スーパーマリオブラザーズ」でゲームをスタートさせてからマリオやルイージを操作してできるだけ短時間でピーチ姫を救出する、などです。[Speedrun.com](https://www.speedrun.com/)に代表されるRTA記録集サイトには、日々、世界中から、多くのゲームソフトの高速プレイ録画リンクが提出され、録画動画の審査を経て、ランキング表が更新されています。RTAプレイヤ

元記事を表示

OTHERカテゴリの最新記事