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

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

【はじめの一歩】OCIのMySQL Database Serviceをつかってみよう!(MDS+Python 他④)

# はじめに
講釈よりも、とにかく触りたい・使いたい初心者向け手順書テイスト
OCIのMDSをたてて、Python等で繋げて使ってみる。
今回はConnector/Pythonを利用しDBへの特殊なデータ追加(プレースホルダー)まで。
前提:OCIの有償アカウントであること(30日間無料トライアルの方もOKです)

本手順は、翔泳社の良書
[MySQL徹底入門 第4版 MySQL 8.0対応](https://www.shoeisha.co.jp/book/detail/9784798161488)を参考としています。
同書籍の[サンプルファイル](https://www.shoeisha.co.jp/book/download/9784798161488)を活用します。
※サンプルファイルのReadMeに以下のありがたいお言葉があるので活用して効率化します。
「本書のサンプルデータは自由に利用できることとします。改変のほか、自由に利用、複製、再配布することができます。」
ただ、サンプルファイルの日本語部分は文字化けしているファイルがあるので、
そのまま使うのが難しい場合があります。

元記事を表示

【Python】インスタグラムで自動フォローと自動いいねを実装する③(ことすたぐらむ[タイプドアン])

# 初めに
 インスタグラム自動化プロジェクト「ことすたぐらむ」について一旦、使えるレベルのプログラムが完成いたしましたので、依頼者の名前を取って、ソース名をことすたぐらむ[タイプドアン]とします。
 以下では実行ソースと、実行するために必要なもの、実行方法を記載いたします。
# ソースコード
 ソースコードは以下のGitに載せました。こちらからダウンロードしてください。

https://github.com/matsuzakaMado/kotostagram_type_doan

# 実行準備
## cromeDriver

 ソースコードをダウンロードできたら、chromeDriverをお使いのchromeのバージョンに注意して、同ディレクトリ内に保存してください。
 chromeDriverのダウンロードサイトは以下になります。

https://chromedriver.chromium.org/downloads

## credentials.py
ソースコードにあるcredentials.pyは任意の値を設定してください。
“`python:credentials

元記事を表示

[競プロ] 再帰的アルゴリズム(Backtracking)

## 制約充足問題(Constraint Satisfaction Problem)

制約充足問題は、複数の制約条件を満たすオブジェクトや状態を見つけるという数学の問題を指す。

制約充足問題は完全な解の存在する問題であり、要素の順序は問題とはならない。
一連の変数が与えられ、指定された制約を満足するようにそれらに値を設定しなければならない。

## バックトラッキング(Backtracking)

バックトラッキングは、制約充足問題の解を探索する戦略の一種で、力まかせ探索を改良したもの。
バックトラッキングでは、変数の値の組み合わせを**試行錯誤**して解を探す。
バックトラッキングの効果は部分的組み合わせを排除(枝刈り)する実装にあり、それによって実行時間を短縮する。

バックトラッキングのアルゴリズムは、単に正しい解を得るまで可能な組み合わせを試していくだけであり、一種の**深さ優先探索**である。

## 擬似コード

問題を解いている途中の部分問題において、可能な**解の候補**がいくつかあったとき、

1. 解の候補のうち、一つを選択し、その部分問題の「仮の」解にする。

元記事を表示

Ansibleの実行結果の出力をデフォルト出力 + JSONファイルにしたい

## Ansibleの実行結果をJSONで扱いたい! が、コンソール出力が微妙!

通常、Ansibleは実行結果を段階ごとに下記のようにコンソールに出力していきますが、

“`console
$ ansible-playbook -i hosts playbook.yml

PLAY [all] ******************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************
ok: [web_server]
ok: [db_server]

….

PLAY RECAP ********************************************************************************

元記事を表示

tkinterを使ってテキストエディタのアプリを作ってみた ~PART2~

前回はアプリの概要とプログラム全体を掲載しましたので、今回は詳細についての解説をしていきたいと思います。まずはメインウインドウから。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631873/aff3cd67-9cdd-5e48-dc7d-94182d77b9a7.png)
メインウインドウのFixed Phraseボタンを押下すると、サブウインドウが立ち上がります。プログラムの記述としては、サブウインドウからとなっておりますので、サブウインドウから順を追って説明します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631873/a86a5909-ad5a-6d28-eab9-3cc110c1f719.png)
まずはSaveボタンの関数から解説します。
“`py
# インポート
import tkinter as tk
from tkinter import ttk
impor

元記事を表示

【はじめの一歩】OCIのMySQL Database Serviceをつかってみよう!(MDS+Python 他③)

# はじめに
講釈よりも、とにかく触りたい・使いたい初心者向け手順書テイスト
OCIのMDSをたてて、Python等で繋げて使ってみる。
今回はConnector/Pythonを利用しDBへのデータ追加、更新、削除まで。
前提:OCIの有償アカウントであること(30日間無料トライアルの方もOKです)

本手順は、翔泳社の良書
[MySQL徹底入門 第4版 MySQL 8.0対応](https://www.shoeisha.co.jp/book/detail/9784798161488)を参考としています。
同書籍の[サンプルファイル](https://www.shoeisha.co.jp/book/download/9784798161488)を活用します。
※サンプルファイルのReadMeに以下のありがたいお言葉があるので活用して効率化します。
「本書のサンプルデータは自由に利用できることとします。改変のほか、自由に利用、複製、再配布することができます。」

ただ、サンプルファイルの日本語部分は文字化けしているファイルがあるので、
そのまま使うのが難しい場合があります。
OCI環境に

元記事を表示

AtCoder ABC252の復習だ

# はじめに
C問題が解けなかったため、まとめようと思います。

# C問題

|0|~|9|のリールを持つスロットがある。
経過時間をt秒とすると、以下に対応する秒数でボタンを押すことができる。
下の例では0秒時点で|1|-|8|-|2|が並ぶ。
“`
1列目 2列目 3列目
|1| |8| |2| < (t % 10) == 0 |9| |1| |3| < (t % 10) == 1 |3| |2| |8| . |7| |4| |5| . |4| |6| |7| . |5| |9| |6| < (t % 10) == 5 |8| |0| |0| . |0| |3| |1| . |6| |5| |4| . |2| |7| |9| < (t % 10) == 9 ``` 例

元記事を表示

【はじめの一歩】OCIのMySQL Database Serviceをつかってみよう!(MDS+Python 他②)

# はじめに
講釈よりも、とにかく触りたい・使いたい初心者向け手順書テイスト
OCIのMDSをたてて、Python等で繋げて使ってみる。
今回はComputeにConnector/Pythonをインストールし接続まで。
前提:OCIの有償アカウントであること(30日間無料トライアルの方もOKです)

本手順は、翔泳社の良書
[MySQL徹底入門 第4版 MySQL 8.0対応](https://www.shoeisha.co.jp/book/detail/9784798161488)を参考としています。
同書籍の[サンプルファイル](https://www.shoeisha.co.jp/book/download/9784798161488/detail)を活用します。
※サンプルファイルのReadMeに以下のありがたいお言葉があるので活用して効率化します。
「本書のサンプルデータは自由に利用できることとします。改変のほか、自由に利用、複製、再配布することができます。」

ただ、サンプルファイルの日本語部分は文字化けしているファイルがあるので、
そのまま使うのが難しい場合があります。

元記事を表示

KerasでVGG16を使った転移学習/ファインチューニングをしてみた

# はじめに
前回までの記事で画像分類の学習に取り組んできたので、次のステップとして転移学習/ファインチューニングを用いて画像分類に取り組んでみた。今回はKaggleコンペから犬と猫の画像(各25000枚)をもってきて、そのうちの一部(訓練1000, 検証400枚)を使用した(Kaggleへの登録(無料)とAPIトークンのダウンロードが必要)。また、転移させるモデルはVGG16とした。

転移学習
別の分類問題などで既に学習されているモデルをそのまま流用する手法のこと。学習に必要な大量のデータを集めたり、膨大な時間をかけてモデルを学習させる手間を省くことができる。既に学習されている分類モデルは別カテゴリの分類でも有用なことがあり、幅広く応用することができる。逆に、データ間の関連が低く、未知の分野の分類問題などに対しては効果が薄い。そのような場合には、自力でモデルを作成する必要がある。

ファインチューニング
転移学習と同じで既に学習されているモデルを流用するが、自らの持っているデータで学習させて重みやパラメータを**微調整**する。基本モデル

元記事を表示

PandasのDataFrameでappendの代わりの方法

# PandasのDataFrameでappendの代替

## FutureWarning

pandasのDataFrameに対してappendを用いると以下のような警告がされる。
いつかなくなるメソッドだからappendではなくconcatを使ってね、とのこと。
“`text
FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version.
Use pandas.concat instead.
“`

## appendを使用する目的

カラム名だけで値は空のDataFrameを用意して、カラムを追加していきたい。

## 結論

コード
“`python
# カラム名のみの空DataFrameを作成
cols = [‘col_{}’.format(s) for s in range(9)]
df = pd.DataFrame(index=[], columns=cols)
# >> Empty DataFrame
# >

元記事を表示

Python学習の基礎・覚え書き

# はじめに
この記事は、Pythonの自己学習で学んだこと(基礎的なこと)を書き留めておく覚え書きです。
環境構築手順や、アプリケーション作成のノウハウなどについては触れていませんので、あらかじめご了承ください。
## 実行環境
* MacOS 11.6.2
* Python 3.9.7

# 基礎編
## 変数
### 変数宣言
変数名を書くだけで使用できる。キーワードは不要。
“`Py
x = 100 + 123
x.bit_length() # ビット数を取得
“`
“`:output
8
“`
### None
`None`は、何もない状態を示す。Javaで言えば`null`のようなイメージ。

## 演算
### 除算結果の小数点以下を切り捨てる
“`Py
20//3
“`
“`:output
6
“`
### べき乗
“`Py
3**2
“`
“`:output
9
“`
### 文字列の繰り返し
文字列型の値に対して乗算を行うと、その文字列を繰り返す。
“`Py
msg1 = ‘hello’
msg2 = ‘!’
print(msg1, ms

元記事を表示

【はじめの一歩】OCIのMySQL Database Serviceをつかってみよう!(MDS+Python 他①)

# はじめに
講釈よりも、とにかく触りたい・使いたい初心者向け手順書テイスト
OCIのMDSをたてて、Python等で繋げて使ってみる。
今回はVCN、Compute(Oracle Linux8)、MDS(MySQL8.0)まで。
※OCIの有償アカウントであること前提です。(30日間無料トライアルの方もOKです)
 MDS以外はAlways Free枠を使うように構成しているので、
 1日(24h)使っても400円程度です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/26e0f44a-5efc-40a1-a18c-665a6a5df5a5.png)

***
# VCN作成
画面左上のハンバーガー、or サービスリンクから「仮想クラウド・ネットワークネットワーキング」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/911e8977-4911-

元記事を表示

scipy.stats: 適合度の検定 chisquare

# scipy.stats: 適合度の検定 chisquare

Help では “Calculates a one-way chi square test” と書いているが,一般的には適合度の検定である。[^1]

[^1]: `scipy.stats.binom_test`, `scipy.stats.power_divergence`, `scipy.stats.chi2_test` との関連についても述べる。

カテゴリーデータの集計の結果,度数分布が特定の分布にしたがっているかどうかの検定である。

特定の分布としては,

– 一様分布
帰無仮説:各カテゴリーの頻度は同じである $H_0: p_i = 1/k,\ \ i=1,2,\dots,k$
– その他の分布
帰無仮説:各カテゴリーの頻度は特定の割合(母比率 $\pi_i$)である $H_0: p_i = \pi_i,\ \ \sum \pi_i = 1,\ \ i=1,2,\dots,k$

“`python
from scipy.stats import chisquare
“`

`chisqu

元記事を表示

地図上にピカチュウを表示させてみた

## はじめに
最近会社と家の往復がメインになっていて、ちょっと癒しが欲しくなっています。
癒されたい、でも何か取り組みたい、、、

そうだ、地図上にかわいいポケモンを表示させたら癒されるかもしれない!と思ってやってみました。

## 内容
“`python
#APIからピカチュウの画像習得
import requests
url = ‘https://pokeapi.co/api/v2/pokemon/25/’
r = requests.get(url, timeout=5)
r = r.json()
image = r[‘sprites’][‘front_default’]
print(image)
“`

こんな感じの画像です。かわいいですよね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1259951/e0353434-f3dc-054d-f8a5-e1a6310936c6.png)

“`python
#urlから画像を取得して保存する
file_name = ‘

元記事を表示

角度のある画像で顔検出できるのか(MTCNN)

# 気になったこと
画像から顔検出するライブラリのMTCNNが、角度のある顔画像に対してどの程度検出できるのかが気になったので、画像を回転させてどこまで検出できるか試してみようと思います。

# やったこと
このような処理を作成しました。
まず、読み込ませた「ivan.jpg」の画像をangleの値だけ回転させて保存します。
その画像をMTCNNで顔検出させたとき、angleをどこまで上げても大丈夫なのかを確認しました。

“` python
import cv2
from mtcnn import MTCNN
from PIL import Image

angle = 45

filename = “ivan.jpg”
output1 = “rotate_” + filename
output2 = “drow_” + filename
detector = MTCNN()

#画像を傾かせて保存する
pil_image = Image.open(filename)
rotate_image = pil_image.rotate(angle)
rotate_image.save(

元記事を表示

JSON形式を判定するツール(Python)

# 概要
今日は前回のテストデータに含まれているデータがJSON形式が正しいか判定するツールを作成します。
業務上でこのファイルを毎回行毎にWEBサイトで貼り付けて確認するのが面倒でしたので、
Pythonで作成することになりました。

# 前回の記事
JSONファイルの日付のみ更新するツールです。

https://qiita.com/neomi/items/68f04401ee6dd020d1a9

# ファイルの内容
次の内容にレコードを追加しましょう。

~~~~
#################
cur20200101.json
#################
{“name”:”田中”,”age”:”46″,”gender”:”1″,”reg_date”:”2020/01/01 15:33:25″}{ssss}
{“name”:”鈴木”,”age”:”32″,”gender”:”1″,”reg_date”:”2020/01/01 16:18:12″}
{“name”:”水島”,”age”:”52″,”gender”:”1″,”reg_date”:”2020/01/01

元記事を表示

【MediaPipe】Hand Trackingで両手を正しく認識させたい

# この記事の概要
ヘッドマウントディスプレイが必要なく、Webカメラがあれば簡単に手を認識できるMediaPipeを勉強しています。
その際、両手を検出しようとしたら困った場面に遭遇したので簡単にではありますが、説明していこうと思います。
# 筆者の実行環境
・Python 3.7.9
・OpenCV 4.5.4
# MediaPipeの仕様について
まず、両手を認識するときは、先に認識したほうを0番目の手、後に認識したほうを1番目の手と識別します。

しかし、両手を認識しようとしても片方の手が認識範囲からずれると残っているほうが[0]となる問題があります。
一体どういうことなのか?下で詳しく説明します。
![HT.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2698874/862fa3d7-d509-25a8-4e52-fa81db15923b.gif)
※カメラで手のひらを撮影していることもあり、左と右が反転しています。

解説すると、
||意味|
|—|:—:|
|results.mu

元記事を表示

PleasanterのAPIをPythonから呼ぶ

[ローコード開発プラットフォームの「プリザンター」](https://pleasanter.org/manual)にはAPIがあるので、それをPythonから呼び出してみましょう。

##### 利用環境
Pleasanter v1.3.7
Python 3.10.4

##### 準備
APIが呼び出せる状態のプリザンターの環境と、ApiKeyが必要です。ApiKeyの設定は[プリザンターのマニュアル APIキーの作成](https://pleasanter.org/manual/api-key)の手順でメモしておきましょう。

#### APIを呼んでみよう
ここでは[テーブル操作:単一レコード取得](https://pleasanter.org/manual/api-record-get)のAPIを呼んでみます。
早速コードです。urlやレコードidやApiKeyは実際の環境に合わせてください。
“`python
import requests
import json

json_data = {
“ApiVersion”: 1.1,
“ApiKey”: “

元記事を表示

M5stack Core2でBluetooth接続 PCのpythonプログラム2(PCから送信)

# BLE通信を成功させたい
長引いているBLE通信、UIFLOWのBlocklyでは情報が少なすぎてうまくいかないものです…
前回は、PCとM5StackCore2間のBLE通信が出来ることが確認できました
任意の文字列をPCとM5StackCore2の間で通信することを目標にしました

# PC側の送信プログラム完成
任意の文字列を送信する方法がわからず困っていましたが、UUIDライブラリでCore2と同じUUIDを設定(生成)したことで解決しました
UUIDは前回のServiceで抽出された上記項目から抜き出しました

https://qiita.com/ganmodoki_oishii/items/418f3e2f3b29342f6856

UUIDを変数にただの文字列として代入して通信していた時は、**Access Denied**が出たりしてPC側でUUIDが設定できていなかったのか・・?

“`python
import asyncio
import uuid
from bleak import BleakScanner
from bleak import BleakC

元記事を表示

ICRA 2022: DodgeDrone Challengeに参加した話

# はじめに
以前書いた記事も面白いのでぜひご覧になってください!
[AWS Robot Delivery Challenge 2022 に出場できなかった話](https://qiita.com/KyoBashi/items/153aff5ce8af7111b537)

# DodgeDrone Challenge とは?
詳しくは[こちら](https://uzh-rpg.github.io/icra2022-dodgedrone/)

DodgeDrone Challengeとは、ロボットの国際学会である[ICRA2022](https://www.icra2022.org/)の中で行われたドローンの制御を競う研究目的のコンテストです。シミュレーターが用意されていて、その中で自分の書いたコードを動かしてドローンを飛ばします。

コンテストは終了しましたが、ソースコードは公開し続けるそうなので興味を持った方はぜひ動かしてみてください!!

# ルール
動く球状の障害物が多数配置されているフィールド内でドローンが初期位置から60m先に到達するとゴールとなります。

State bas

元記事を表示

OTHERカテゴリの最新記事