Python3関連のことを調べてみた

Python3関連のことを調べてみた

OpenCVでの楕円フィッティングのやり方

画像処理において、物体の輪郭を検出し、その輪郭に基づいて形状をフィッティングするのはよく行われる手法です。特に楕円フィッティングは、物体の回転やスケール変化に対して比較的ロバストであり、特徴的な形状を表現するために便利です。本記事では、PythonとOpenCVを使用して楕円フィッティングを行う方法について詳しく説明します。

## 1. 必要なライブラリのインポート
まず、必要なライブラリをインポートします。OpenCVとNumPyを使います。OpenCVは画像処理、NumPyは配列操作に役立ちます。
“`python
import cv2
import numpy as np
“`
## 2. 画像の読み込みとグレースケール変換
次に、解析対象となる画像を読み込み、グレースケールに変換します。グレースケール化することで、画像の情報量を減らし、エッジ検出を行いやすくします。
“`python
# 入力画像の読み込み
image = cv2.imread(“input.jpg”)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
“`

元記事を表示

OpenCVを用いた色検出

## 1: 必要なライブラリをインポートする
“`
import cv2
import numpy as np
“`
## 2: 画像を読み込む
“`
# 画像を読み込む
image = cv2.imread(‘image.jpg’)
“`
## 3: 色空間を変換
HSV色空間に変換します。HSV色空間は、色調(Hue)、彩度(Saturation)、明度(Value)を使って色を表現し、特定の色範囲を選択しやすくなります。
“`
# 色空間をHSVに変換
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
“`
## 4: 色の範囲を定義
特定の色範囲をHSV値で定義します。ここでは例として、青色の範囲を定義しますが、必要に応じて調整してください。
“`
# 青色の範囲を定義(HSV空間)
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])
“`
## 5: 色範囲内のマスクを作成
定義した色範囲に基づいてマスクを作成します。マスクは、

元記事を表示

PythonのPandasライブラリを使用して、Excelファイルへ

このコードは、PythonのPandasライブラリを使用して、Excelファイル内の複数のシートに対してデータ処理を行う部分です。各シートからデータを抽出し、解析し、結果をまとめるという一連の流れが実現されています。初心者の方でも理解できるように、コードの各部分を丁寧に解説していきます。

## 目次

1. [Excelファイル内のシートごとの処理](#excelファイル内のシートごとの処理)
2. [シートのデータ読み込み](#シートのデータ読み込み)
3. [必要な列の存在確認](#必要な列の存在確認)
4. [差の割合の計算](#差の割合の計算)
5. [結果のDataFrame作成](#結果のdataframe作成)
6. [グラフの色の設定](#グラフの色の設定)
7. [まとめと次のステップ](#まとめと次のステップ)

## Excelファイル内のシートごとの処理

### コード例

“`python
for sheet_name in sheet_names:
“`

### 説明

– **目的**:Excelファイル内にある複数のシートを

元記事を表示

【Python】re.searchとre.findallの違いは?サンプルコードで解説

# 概要
Pythonの`re.search`と`re.findall`を使ってみたのでサンプルコードで紹介します。

# サンプルコードと解説

それぞれ以下の違いがあります。

・`re.search`:文字列全体を検索し、最初に一致した部分文字列を含むマッチオブジェクトを返す
・`re.findall`:文字列全体を検索し、一致するすべての部分文字列をリストとして返す

上記の通り、`re.search`は最初の一致を確認するために、`re.findall`は一致するすべての部分文字列を確認するために使用されます。

“`py
import re

def find_all_emails(email_pattern, text):
emails = re.findall(email_pattern, text)

print(“抽出されたメールアドレス:”)
for email in emails:
print(email)

def search_first_email(email_pattern, text):
email

元記事を表示

[python] python初心者が覚えるべき事11選

# 参考目次:airplane:
#### 目次一覧
[はじめに](#はじめに)
[自己紹介](#自己紹介)
[python基礎](#python基礎)
 - [3-1-変数とデータ型](#3-1-変数とデータ型)
 - [3-2演算子](#3-2演算子)
 - [3-3制御フロー](#3-3制御フロー)
 - [3-4関数](#3-4関数)
 - [3-5モジュール](#3-5モジュール)
 - [3-6例外処理](#3-6例外処理)
[ココでお茶休憩tea](#ココでお茶休憩tea)
 - [3-7オブジェクト指向プログラミングoop](#3-7オブジェクト指向プログラミングoop)
 - [3-8-ファイル操作](#3-8-ファイル操作)
 - [3-9リスト内包表記](#3-9リスト内包表記)
 - [3-10デコレーター](#3-10デコレーター)
 - [3-11ジェネレーター](#3-11ジェネレーター)
[その他](#その他)
[おわりに](#おわりに)

## はじめに
 この記事は*Python*を勉強しようと思っている人向けの記事となっております。
 結構寒くなっ

元記事を表示

文字をペイント系ソフトのペンツールで描画する

# なぜ作ろうと思ったか
とあるサイトで、画面にマウスや指、アップルペンシルなどを使って描画したものをサーバーに送信できる機能がありました。自分はwindowsを使っているのでマウスでしか描画できません。そうした際に文字をきれいに描画することができないという問題が発生します。そういった問題を解決するため、このツールを作成することとしました。

# 制作過程とコード配布
pythonにあるpyautoguiとpillowというライブラリを組み合わせて作ることとしました。

pypiを使ったライブラリのインストールコマンド
“`
pip install pyautogui pillow
“`

ChatGPTが作ったコードを改良しただけではありますが、完成形を配布します!
*byぷがするテキストとttfフォントへのパスは自分で指定してください。
(動作確認済みの環境:python 3.10)
“`py
import pyautogui
import time
from PIL import Image, ImageDraw, ImageFont

# 手書き風に描くテキスト
text

元記事を表示

Python 不動産ライブラリAPIを使ってみる デプロイ編

前回のお話 ⇒ コーディング編

streamlitで作ったアプリをデプロイする方法について書く。
デプロイとはサーバー上に展開し、誰でもアクセスできるようにすることである。

目次:
1.デプロイ方法は、1つだけではない
2.Streamlit Sharingとは
3.Githubでの作業
4.ディレクトリ構造と秘匿情報(APIキー等)の取扱い
5.Streamlit Community Cloudでの作業(デプロイ)
6.まとめ

1.デプロイ方法は、1つだけではない

Streamlitで作成したアプリをデプロイする方法はいくつかあるらしい。

① Streamlit Sharingでデプロイ
② Dockerを使ったデプロイ(AWS, GCP, Azureなどのクラウドサービス上でホスト可能)
③ Herokuでデプロイ
④ 自前サーバーや**VPS(仮想専用サーバー)**でのデプロイ

今回、最も簡単に

元記事を表示

Python3: paizaラーニング問題集「部外者をはじけ」を解いてみた

おもしろそうだったのでやってみました。

https://paiza.jp/works/mondai/b_rank_skillcheck_archive/finding_putliers_99

解答例のように個別に距離を測ってもいいんだけど、距離2の平行線の外側って考えると、計算がちょっと軽くならないかな、と思ってやってみる。

“`py:
from itertools import combinations
from math import sqrt
from dataclasses import dataclass

@dataclass
class NumberedPoint:
n: int
x: float
y: float

DISTANCE = 2.0

def outsiders(points):
min_outs = [*points]

for p0, p1 in combinations(points, 2):
tenp_outs = []

if

元記事を表示

【備忘】よくつかうコードスニペット: Python標準ライブラリ系

## 目的
鳥頭のため、ちょっと書いてないだけで基礎的な記法も忘れる始末。

## 一覧

### json

#### JSONデータのシリアライズ(PythonオブジェクトをJSON文字列に変換)

“`
import json

data = {
“name”: “Example Item”,
“price”: 19.99,
“in_stock”: True
}

# JSON文字列に変換
json_data = json.dumps(data)
print(json_data) # {“name”: “Example Item”, “price”: 19.99, “in_stock”: true}

“`

#### JSONデータのデシリアライズ(JSON文字列をPythonオブジェクトに変換)

“`
# JSON文字列
json_data = ‘{“name”: “Example Item”, “price”: 19.99, “in_stock”: true}’

# Pythonオブジェクトに変換
data = json.loads(

元記事を表示

【備忘】よくつかうコードスニペット: Python外部ライブラリ系

## 目的

コードを書く機会はそれなりに多いが、日ごろから持ち前の鳥頭が存分に活かされすぎているため書き方を一瞬で忘れる。
そのため、仕事用端末からもプライベートの端末からも閲覧できる形でスニペットとして残しておきたい
今のところ、1から書くと多すぎる上に他の記事などでうまくまとまってる可能性の高いもの(Pandasとか)はそちらを参照することにする。

## 一覧

### FastAPI(v0.103.1)、Flask(v2.3.3)

#### 基本的なAPIエンドポイント

FastAPI
“`
from fastapi import FastAPI

app = FastAPI()

@app.get(“/data”)
async def get_data():
return {“message”: “データを取得しました”}
“`

Flask
“`
from flask import Flask, jsonify

app = Flask(__name__)

@app.route(“/data”, methods=[“GET”])
def get_dat

元記事を表示

Python プロジェクト管理したくて uv に触れてみたメモ

# これは何
2024の春先だっただろうか、pythonを使った開発を新しく始めようと思ったとき、環境管理何がいいのかなー?と調べていたところ、2024のトレンドは rye だ!という情報を沢山見ていたが、最近改めて調べ直してみると uv がトレンドだという話題を見て触ったことないなと思ったので python素人の自分が uv を触ってみたメモ

# uv について
https://github.com/astral-sh/uv

自分はPython界隈の事情に一切詳しくないので、正しく解釈できていないかもしれないが、ざっと調べた限りでは uv は rye の後継ツールで、rye は終わり、uv へ移行している過渡期のようだった。なら、これから始めるなら rye より uv の使い方を覚えるのが良さそうと感じた

# uv をインストールしてみる
手元の環境(win11+wsl2+ubuntu) には brewを導入済みなので `brew install uv` でよかった。
他にも色々インストール方法はありそうだった https://github.com/astral-sh/uv

元記事を表示

Python 3 エンジニア認定実践試験対策 (3) - venv

Pythonを数年使ってきて、改めて知識の整理と最新仕様のキャッチアップのために Python 3 エンジニア認定実践試験を受験しようと思い、私的に作成した資料から簡易版を作成しました。
最後に練習問題を設けましたので、解説を読んだら記憶定着のために練習問題へチャレンジしてください。最後に答えを掲載しています。

### 仮想環境(venv)とは
– **目的**: プロジェクトごとに異なるPythonのバージョンやパッケージを独立して管理するための仕組み。
– **利点**: システム全体に影響を与えずに、特定のプロジェクトに必要な環境を構築できる。検証用環境として一時的に作成するケースにも利用されます。

### venvの使い方

1. **仮想環境の作成**
“`bash
python3.x -m venv <任意のディレクトリ名>
“`
例: `$ python3.11 -m venv myenv`
作成された仮想環境用ディレクトリに、仮想環境に必要なリソースが配置される。

2. **仮想環境の有効化**
– Unix系(bash/z

元記事を表示

Python 3 エンジニア認定実践試験対策 (2) - requirements.txt / constraints.txt

Pythonを数年使ってきて、改めて知識の整理と最新仕様のキャッチアップのために Python 3 エンジニア認定実践試験を受験しようと思い、私的に作成した資料から簡易版を作成しました。
最後に練習問題を設けましたので、解説を読んだら記憶定着のために練習問題へチャレンジしてください。最後に答えを掲載しています。

# Python パッケージバージョンの統一管理

## 1. requirements.txtとは?
`requirements.txt`は、異なる環境(開発環境や本番環境など)で同じパッケージバージョンに統一するために使用するファイルです。
– 環境ごとに異なるバージョンを使うと、不具合が発生することがあります
– このファイルを使うことで、パッケージのバージョンを統一できます

## 2. requirements.txtの作成
### 自動作成
“`bash
pip freeze > requirements.txt # 現在の環境のパッケージとバージョンを一覧にしたファイルを作成
“`

## 3. requirements.txtの書式
– コメントは `#

元記事を表示

Python 101: プログラミング初心者が知っておくべき5つの重要な概念

### Python 101: プログラミング初心者が知っておくべき5つの重要な概念

Pythonは初心者から上級者まで幅広いレベルで人気のあるプログラミング言語ですが、効率的に学ぶためには基礎となるいくつかの重要な概念を理解する必要があります。この記事では、Python初心者や中級者が特にミスしやすい、押さえておくべき5つの重要な概念を解説します。

### 目次
1. イントロダクション
2. ミュータブルとイミュータブル
3. リスト内包表記
4. 引数とパラメータ
5. `__name__ == “__main__”`の使い方
6. GIL(グローバルインタプリターロック)
7. まとめ
8. 参考文献

## 1. イントロダクション

Pythonで効率よくコードを書くためには、特定の基本概念を理解しておく必要があります。特にプロダクションコードを読んだり、自分でコードを再現する場面では、理解度が鍵となります。ここでは、開発者がPythonコードを自在に読み書きし、他の開発者とも共有できるようになるための基礎を解説していきます。

## 2. ミュータ

元記事を表示

Python 101: 知っておくべき10の重要な概念

### Python 101: 知っておくべき10の重要な概念

Pythonの基礎を学ぶ上で、押さえておくべき重要な概念を10個にまとめました。これらの概念を理解することで、Pythonプログラムの効率的なコード作成や読み取りが可能になります。

### 目次
1. はじめに
2. ファイル作成と変数の定義
3. データ型の基本
4. 型アノテーション
5. 定数の使い方
6. 関数の定義とパラメータ
7. クラスの基本
8. メソッドとselfの使い方
9. Dunderメソッドの活用
10. まとめと参考文献

## 1. はじめに

Pythonは初心者から上級者まで幅広く使われるプログラミング言語です。本記事では、Pythonプログラムを始めるために知っておくべき10の基本概念を解説します。

## 2. ファイル作成と変数の定義

– Pythonファイルは、`.py`拡張子を付けて作成し、Pythonインタプリタで実行されます。
– 変数は、`変数名 = 値` の形で定義され、再利用が容易です。たとえば、`name = “Bob”`、`age = 20

元記事を表示

Pythonで時短開発!コーディングを加速するシンプルなテクニック

## はじめに
忙しいエンジニアにとって、開発効率を上げることは重要です。本記事では、Pythonでの開発を加速するための時短テクニックを紹介します。これらのテクニックは、日々の作業を少しずつ効率化してくれるので、ぜひ参考にしてみてください。

## 1. ワンライナーで処理を完結させる

Pythonはシンプルな構文を使って、1行で多くの処理を実行できます。以下は、特に便利なワンライナーの例です。

### 例1: リスト内包表記でリストを生成
“`python
squares = [x**2 for x in range(10)]
# 出力: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
“`

### 例2: if 文を含むワンライナー
“`python
even_numbers = [x for x in range(20) if x % 2 == 0]
# 出力: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
“`

## 2. `enumerate`でループ時のインデックスも取得

ループ内でインデックスが必要な

元記事を表示

【python3】 Excelの表データをPowerPointの表に転記するツール

# はじめに
Excelの表のデータを、PowerPointの表のデータに転記する自動化ツールをpythonで実装しました

## 転記元のExcelの表
今回転記する表は以下の通りです。

![Excel.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055346/aedbed56-0fc5-17a8-4a13-1a4f47ddd2bd.jpeg)

## 転記前のPowerPointの表

![before_ppt.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055346/318c7298-0e89-63d2-3a6d-06e3aa14e8c8.jpeg)

## 実装したソースコード
実装したソースコードは下記のとおりです。

“`python
#################################################
# Excelからpowerpointの表にデータコピーテ

元記事を表示

Google ColabでPythonのバージョンを変更する

## きっかけ
GoogleColabにインストールされているPythonのバージョンでは動かないライブラリを扱いたかったから。

## 変更方法
以下を実行することで任意のバージョンのPython(以下の例ではPython3.7)をGoogleColabにインストールできる。

“`bash
!sudo add-apt-repository -y ppa:deadsnakes/ppa
!sudo apt-get -y update
!sudo apt-get -y install python3.7
!sudo apt-get -y install python3.7-dev
!sudo apt-get -y install python3-pip
!sudo apt-get -y install python3.7-distutils

!python3.7 -m pip install –upgrade setuptools
!python3.7 -m pip install –upgrade pip
!python3.7 -m pip install –upgrade

元記事を表示

【python3】辞書のkeyをソートして辞書のkeyを昇順に表示する

# はじめに
辞書のkeyを昇順で並び替える問題に取り込みました

## 問題
>n人の野球選手の名前が背番号と一緒に入力されます。
>各選手の背番号と名前を、背番号の数字の小さい順に並び替えて出力してください。
>ただし、同じ背番号の選手は存在しないものとします。

という問題です。

## 実装したコード
実装したコードは下記の通りです

“`python3
# 数値入力
n = int(input())
# Dictionaryの定義
dict1 = {}
# listの定義
list1 = []
# 標準入力からdict1にkeyとvalueを入れる
for i in range(n):
key,value = input().split(‘ ‘)
dict1[key] = value
# dict1のkeyをlist1に入れる
for number in dict1.keys():
list1.append(int(number))
# list1を昇順に並び替える
list1.sort()

print(“—-結果—-“)
# listの要

元記事を表示

Python学習者向けおすすめリソース一覧

# Python学習者向けおすすめリソース一覧

Pythonは現在、最も人気のあるプログラミング言語の一つであり、初学者から上級者まで幅広いリソースが提供されています。本記事では、Pythonの学習に役立つ主なリソースやコースについて、カテゴリー別に紹介します。初心者から上級者まで、さまざまなレベルの学習者が自分のペースで学べる内容をまとめていますので、ぜひご活用ください。

## 目次

1. オンラインコース
2. 無料のオンラインリソース
3. 書籍
4. インタラクティブな学習サイト
5. 大学のMOOC
6. YouTube動画
7. コミュニティリソース
8. まとめ

## 1. オンラインコース

Pythonの基礎から応用まで、さまざまなオンラインコースが提供されています。人気のプラットフォームでは、コース内容やレベルも豊富に揃っており、自分の目的に合った学習が可能です。

– **Coursera**: 名門大学や企業と提携し、Pythonの基礎から高度な応用までカバーしたコースが揃っています。
– **Udemy**: 価格が手頃で、多くのユ

元記事を表示

OTHERカテゴリの最新記事