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

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

Python + OpenCVでらんてくんとキュゥべえの類似点を検出する

# 概要
この記事では、顔認証の技術などでも使われる顔の類似度判定を、OpenCVを使い実装したいと思います。
OpenCVは、画像・動画に関する処理機能をまとめたオープンソースのライブラリです。今回はらんてくんとQB(キュゥべえ)の特徴点を比較してどれだけらんてくんがQBに似ているのかAKAZEという検出器で検証しました。

# 類似点判定の例
類似点を判定するために
– 2つの画像の特徴点を抽出する
– 2つの画像の特徴点から類似点を判定する

の手順で進めていきます。

下図の円で囲まれたところが特徴点です。特徴点抽出はその名の通り、画像の中から”特徴的な”ポイントを抽出するアルゴリズムです。使われる特徴としては角 (コーナー) が多いようですが、輝度の勾配なども使われるそうです。
![runtequn_02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520341/00c56d2a-76ed-8d94-9105-07f8d2813cdd.jpeg)![runtequn_03.jpg](htt

元記事を表示

Pythonista3 のKeyboard で、Pythonista3 のコーディングを楽にする。人生を豊かにする。

この記事は、[Pythonista3 Advent Calendar 2022](https://qiita.com/advent-calendar/2022/pythonista3) の04日目の記事です。

https://qiita.com/advent-calendar/2022/pythonista3

一方的な偏った目線で、Pythonista3 を紹介していきます。

ほぼ毎日iPhone(Pythonista3)で、コーディングをしている者です。よろしくお願いします。

以下、私の2022年12月時点の環境です。

“`
— SYSTEM INFORMATION —
**System Information**

* Pythonista 3.3 (330025), Default interpreter 3.6.1
* iOS 16.0.2, model iPhone12,1, resolution (portrait) 828.0 x 1792.0 @ 2.0
“`

他の環境(iPad や端末の種類、iOS のバージョン違い)では、意図としない挙動(エ

元記事を表示

【AtCoder】ABC280のA,B,C,D における Python解説

ABC280のA,B,C,D問題を解くために考えたこと、ACできるPython3(PyPy3)コードを紹介します。

この記事は @u2dayo さんの記事を参考にしています。見たことのない方はそちらもご覧ください。とても勉強になります。

また、diffは問題の難易度を表す指標です。[Atcoder Problems](https://kenkoooo.com/atcoder/#/table/tsuru1471) から引用しています。このサイトは勉強した問題を管理するのにとてもオススメです。

質問やご指摘はこちらまで
Twitter : [Waaa1471](https://twitter.com/Waaaa1471)

作者プロフィール
Atcoder :[緑 829](https://atcoder.jp/users/tsuru1471)
22/1203 現在

# 目次
[はじめに](#はじめに)
[A.Pawn on a Grid](#apawn-on-a-grid)
[B.Inverse Prefix Sum](#binverse-prefix-sum)
[C.Extr

元記事を表示

pythonのcopyについて(備忘録)

## 変数と代入文(=)

オブジェクトを格納する箱ではなく、オブジェクトを参照するための名札をイメージすると良い
pythonの代入文は、オブジェクトそのものをコピーするのではなく、オブジェクトの参照をコピーする!

## オブジェクトをコピー?参照をコピー?
~~~python
>>> your_colar = [‘red’, ‘bule’, ‘black’]
>>>my_colar = your_colar
>>> your_colar
[‘red’, ‘bule’, ‘black’]
>>> my_colar
[‘red’, ‘bule’, ‘black’]
>>> your_colar[2] = ‘green’
>>> your_colar
[‘red’, ‘bule’, ‘green’]
>>> my_colar
[‘red’, ‘bule’, ‘green’]
>>> id(your_colar), id(my_colar)
(1749125224128, 1749125224128)
~~~
オブジェクトそのものをコピーしているのではなく、オブジェクトの参照のみをコ

元記事を表示

「絶対import」を使ったら、Pythonのimport周りで詰まることがなくなった

# TL;DR
– Pythonでimportする際は、「実行ファイル(厳密には`モジュール検索パス`)から見たパス」で考える
– [例1](#例1-二階層の場合)の`b_2.py`参照
# この記事を書くに至った経緯
– 自分も数年Pythonを扱って来ましたが、`ModuleNotFoundError: No module named ‘xxx’`エラーを親の顔ほど見ましたし、苦しめられてきました
– 今までimportを相対的に考えていましたが、絶対的に考えることにより上手くいった部分があったので、共有しようと思います
– 実際にコードで説明した方がわかりやすいと思うので、例を交えながら説明します
# 注意点
– タイトルは誇張気味です。すみません。
– 実行環境は`Python 3.10.0`です
– 例で記述したコードは最短にすることを最重視しています
– `__init__.py`については本記事では対象外とさせていただきます
– これについても情報が散見される印象を受けるので、いつかまとめたいとは思っていますが……
– [Pythonの公式ドキュメント](

元記事を表示

tweepyを使って特定のワードの入ったツイートを取得する

おはこんばんちわ。

## 大まかな流れと準備
###### 最終目標
「特定のワードを指定したツイートを取得して、csv形式で保存する。」

裏テーマ「金曜ロードショー放送中のみんなのリアクションが見たい。」

###### 方法

1.Pythonでtweepyを利用し、ツイートデータを取得。
2.欲しいデータのみ抽出。
→今回はツイート本文とツイート時間を取得。
3.データの加工、整理。
4.結果をcsv形式で出力。

###### 準備

・TwitterAPI(v2)のデベロッパーアカウントを取得する。
・Pythonを実行できる環境を用意する。

###### 今回のコードの注意点
・時間指定
→元々のタイムゾーンがutcなので日本時間から-9時間しなければならない。
→TwitterAPIの機能で一週間前までしか遡ることができない。
・検索ワードのAND,ORなど
→できると思いますが、今回は割愛します。

## コード
“`php
import tweepy
import pandas as pd
import datetime as dt
import time

元記事を表示

python pandas :条件指定による抽出

# query
条件を付けて任意の行を抽出できます。

## code
適当なデータを使って、任意行の抽出を行いました。比較演算子、論理演算子で条件を絞ることができます。また、listや変数も扱うことができます。使用例を下記にまとめてみました。

“`python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import pandas as pd
data = {‘state’: [‘Ohio’, ‘Ohio’, ‘Ohio’, ‘Nevada’, ‘Nevada’, ‘Nevada’],
‘year’: [2000, 2001, 2002, 2001, 2002, 2003],
‘pop’: [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}

df = pd.DataFrame(data)
print(df)
# state year pop
# Ohio 2000 1.5
# Ohio 2001 1.7
# Ohio 2002 3.6
# Nev

元記事を表示

AtCoder Beginner Contest(ABC) 278 – Pythonでのバーチャル参加結果と内容整理

# 1. 前書き
AtCoderBeginnerContest(ABC)の参加結果と内容の整理、および外部の解説記事を参考にした上で、自分なりに解法を整理していきます。
使用言語はPythonで行きます。本業ではJavaかRubyonRailsユーザーですが、計算速度の問題であったり、トレンドに乗っておくという意味でも(こちらが大きい)、Pythonに慣れていきたいと思います。

# 2. コンテスト内容
– コンテスト名
– AtCoder Beginner Contest 278
– 開催日時
– 2022/11/19(土) 21:00 – 22:40
– 実施区分
– バーチャル参加
– 2022/11/21(月)

# 3. 結果
|区分|結果|所要時間|実行時間|
|:–|:–|:–|:–|
|A問題|AC|10:44
(1NG,5:44+5min)|24ms|
|B問題|WA|-|-|
|C問題|TLE|-|2221ms|
|D問題|TLE|-|2206ms|

# 4. 解説

## 4-1. A問題

### 4-1-1.

元記事を表示

[python3][pandas]時間でroundを使う際の細かい話

# pyhton3のdt.round
時間を指定した区切りに丸めることができる。
“`python
rng = pd.date_range(‘1/1/2018 11:59:00′, periods=3, freq=’min’)

print(rng)
print(rng.round(‘H’)) # ‘H’:時間で丸める

“””出力
DatetimeIndex([‘2018-01-01 11:59:00’, ‘2018-01-01 12:00:00’,
‘2018-01-01 12:01:00′],
dtype=’datetime64[ns]’, freq=’T’)
DatetimeIndex([‘2018-01-01 12:00:00’, ‘2018-01-01 12:00:00’,
‘2018-01-01 12:00:00′],
dtype=’datetime64[ns]’, freq=None)
“””
“`
# ドキュメント
https://pandas.py

元記事を表示

プッシュボタンを押すと LINE に通知が飛ぶ Python アプリを、Cyclone V SoC のキット(Atlas)に実装してみた

# もくじ
●[1.はじめに](#1はじめに)
●[2.環境](#2環境)
●[3.構成](#3構成)
●[4.準備 ~Linux 環境作成~](#4-準備-linux-環境作成)
●[5.準備 ~Linux 上で GPIO の制御方法の確認~](#5-準備-linux-上で-gpio-の制御方法の確認)
●[6.準備 ~LINE の送信~](#6-準備-line-の送信)
●[7.Python コード](#7-python-コード)
●[8.実行結果](#8-実行結果)
●[9.おわり](#9-おわりに)

## 1.はじめに
以前、[Intel® Cyclone V SoC のキット(Atlas)と PC を LAN ケーブルで繋ぎ、Python で UDP パケット通信させてみた](https://qiita.com/uchiita/items/7326091acc9a6da77622) の記事を作成した際、SoC FPGA を Python で動かすことができれば、色々面白そうと思いました。

センサーで取得したデータや FPGA 側のデータを、Python の豊富なライブラリ

元記事を表示

AtCoder Beginner Contest(ABC) 277 – Pythonでのバーチャル参加結果と内容整理

# 1. 前書き
AtCoderBeginnerContest(ABC)の参加結果と内容の整理、および外部の解説記事を参考にした上で、自分なりに解法を整理していきます。
使用言語はPythonで行きます。本業ではJavaかRubyonRailsユーザーですが、計算速度の問題であったり、トレンドに乗っておくという意味でも(こちらが大きい)、Pythonに慣れていきたいと思います。

# 2. コンテスト内容
– コンテスト名
– AtCoder Beginner Contest 275
– 開催日時
– 2022/11/12(土) 21:00 – 22:40
– 実施区分
– バーチャル参加
– 2022/11/13(日)

# 3. 結果
|区分|結果|所要時間|実行時間|
|:–|:–|:–|:–|
|A問題|AC|4:02|22ms|
|B問題|AC|14:39|25ms|
|C問題|未提出|-|-|

# 4. 解説

## 4-1. A問題

### 4-1-1. 問題文
> (1,2,…,N) を並び替えた数列 P と整数 X が与えら

元記事を表示

AtCoder Beginner Contest(ABC) 279 – Pythonでのリアルタイム参加結果と内容整理

# 1. 前書き
AtCoderBeginnerContest(ABC)の参加結果と内容の整理、および外部の解説記事を参考にした上で、自分なりに解法を整理していきます。
使用言語はPythonで行きます。本業ではJavaかRubyonRailsユーザーですが、計算速度の問題であったり、トレンドに乗っておくという意味でも(こちらが大きい)、Pythonに慣れていきたいと思います。

# 2. コンテスト内容
– コンテスト名
– AtCoder Beginner Contest 279
– 開催日時
– 2022/11/26(土) 21:00 – 22:40
– 実施区分
– リアルタイムRated参加

# 3. 結果
|区分|結果|所要時間|実行時間|
|:–|:–|:–|:–|
|A問題|AC|7:14|24ms|
|B問題|AC|10:59|24ms|
|C問題|TLE|-|2208ms|
|D問題|RE|-|24ms|

# 4. 解説

## 4-1. A問題

### 4-1-1. 問題文
> v と w のみからなる文字列 S が与えられま

元記事を表示

pythonのコメント機能について (備忘録)

※この記事は、エンジニア志望の大学生が勉強のアウトプットとして書きました。コメントを各際に、他にこんなことを気を付けているなどあればご指摘いただけると幸いです。

Pythonでは、1行や複数行にわたってコメントを書くことができる。

#ここにコメントを書く

“””複数行にわたって
コメントを
書くことができる”””

– 複数行の場合はトリプルクォートで書いた方が良し。
– コメントは普通、コードの末尾ではなく単独の行に記述すると良し。
– フレーズや単語ではなく、意味が通る文章として記述すべし。
– コメントをするコードと同じレベルでインデントすべし。
– pep8の横文字制限80文字に従うこと。

インラインコメントは変数の目的や意味を記述すべし!
⇒変数のデータ型は記述しない(代入文を見ればわかる)
“`Python
human_Weight = 65 #単位はキログラム
human_height = 175 #単位はセンチメートル
“`
コメントはコードの動作ではなく、背景を明かにすべし!
“`
誤り#65を175の2乗で割っている
正 #BMIを計算している

元記事を表示

Pythonで九九の表を作ります

## Pythonで九九
エンジニアとして成長するためにアウトプットをして自分の復習になればと思い作成しました。
今回なぜ九九の表を作成するかというと最近娘(6歳)が九九をいえるようになって感心したのがきっかけです。
基本のfor文の復習も兼ねてます。

## 二重for文
九九の課題といえばfor文を二重で使うことでしょうか。
実際にコードを書いていきます。

“`Python
for i in range(1, 10):
for j in range(1, 10):
print(i * j, end=” “)
print()
“`
上記のコードを実行すると、
“`
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 1

元記事を表示

Numpyでnanのindexを検索する

# Numpyでnanのindexを取得したい

このような場合

“`python:
import numpy as np
a = np.zeros(2, 2)
# a = [[0, 0], [0, 0]]
a[0, 0] = np.nan
# a = [[nan, 0], [0, 0]]
“`

`a`のなかで`nan`のインデックスである`[0, 0]`が欲しい場合があります。

# 結論

“`python:
np.argwhere(np.nan(a))
# [0, 0]
“`

非常にエレガントな手法ですね。
詳細は参考文献をどうぞ(英訳しただけ)

# 参考文献
https://stackoverflow.com/questions/37754948/how-to-get-the-indices-list-of-all-nan-value-in-numpy-array

元記事を表示

Proxyサーバー経由でPythonライブラリをインストールする方法

# はじめに
社内等、外部ネットワークにプロキシサーバーを経由する必要がある場合、`pip install [package]`ではPythonライブラリのインストールができず、プログラミング履修の導入時に障壁になることなどがあります。
また、これまでは回避のためanacondaをインストールすることである程度のライブラリを予め揃えることができましたが、商用利用の有償化により、一つ一つライブラリを揃え環境の構築が必要になりました。

ここではプロキシサーバーを経由したPythonライブラリのインストール方法を2つご紹介します。
例として、`numpy`をインストールする場合のコマンドを例示します。

# 環境
OS: Windows10, または Ubuntu18.04LST
※Ubuntu以外のLinuxOSについては試していないため、保証できません。

Python: 3系
※Anacondaではなく、[Pythonホームページ](https://www.python.org/)からダウンロード&インストールしたものとします。

# 方法
#### 1. コマンドにオプションを付

元記事を表示

tkinterで残業代計算デスクトップアプリ

# 初めに
今後デスクトップアプリを作成することになるかもしれないので

# code
“`
import tkinter as tk

#1時間あたりの賃金
def calc(fee, avrworktime):
return fee / avrworktime

root = tk.Tk()
root.title(‘残業代チェック’)
root.geometry(‘250×250′)

#Labelウィジェット
label_1 = tk.Label(root, text=’収入(基本給)’)
label_2 = tk.Label(root, text=’円’)
label_3 = tk.Label(root, text=’所定労働時間’)
label_4 = tk.Label(root, text=’h’)
label_5 = tk.Label(root, text=’1時間あたりの賃金を計算’)
label_6 = tk.Label(root, text=’計算結果’)
label_7 = tk.Label(root, text=’今月の残業時間’)
#entryウィ

元記事を表示

国旗識別アプリの制作工程。

初めまして、フィリピン在住のオンシオと申します。
英語がペラペラなことと、ピアノが弾けるとが私のアピールポイントです。

この度は、私の初作品である、G7の国旗の識別をするAIアプリを制作いたしました。
初めて制作した画像分類モデルの制作工程を、本記事にまとめます。

:::note info
G7とは「Group of 7」の略称で、アメリカ、イギリス、フランス、ドイツ、イタリア、カナダ、日本の7カ国で構成された先進国首脳会議(政治フォーラム)のことです。
:::

:::note info
開 発 環 境:GoogleColaboratory
使 用 言 語:Python
使用モジュール:tensorflow 2.9.2(Googleの機械学習用オープンソースライブラリ)
:::

## ♦制作工程
1.使用データの準備
2.画像の前処理
3.モデルの定義
4.モデルの学習
5.モデルの評価
6.モデルの保存

# 工程1. 使用データの準備
:::note info
データ収集方法:[i crawler(スクレイピングツール)](h

元記事を表示

paizaラーニング「約数の列挙 Python3編」

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__divsor_print
#### 私の解答
“`Python3
n = int(input())
for i in range(1, n + 1):
if n % i == 0:
print(i)
“`
#### 解答例
“`Python3
N = int(input())

for i in range(1, N + 1):
if N % i == 0:
print(i)
“`
ほぼ同じ解答でした!

元記事を表示

paizaラーニング「約数の個数 Python3編」

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__divsor_count
算数で習った、約数の定義を忘れてしまったので、グーグルで調べてみました。
算数パラダイスというウェブサイトに『余りが0になるものが約数なので、10の約数は1,2,5,10です。』と書かれていました。そこで、1から順にあまりが0になるものをリストにし、len関数でその数を求める事にしました。
#### 私の解答
“`Python3
n = int(input())
a = []
for i in range(1,n+1):
if n % i == 0:
a.append(i)
print(len(a))
“`
#### 解答例
“`Python3
N = int(input())

div_count = 0
for i in range(1, N + 1):
if N % i == 0:
div_count += 1

print(div_count)
“`

元記事を表示

OTHERカテゴリの最新記事