- 1. BigQueryを使用してCSVデータを集計する
- 2. プログラミング初心者のQAエンジニアがExcelからテスト実行するプログラムを作ってみた
- 3. DockerのUbuntuコンテナにPython3をインストール
- 4. BIKE SHARING DEMAND データ分析
- 5. FastAPIで簡単なリアルタイムチャットの仕組みを作る
- 6. 【Python】venvを利用した仮想環境
- 7. お酒の画像をCNNに学習させてみる
- 8. 【備忘録】Python×Seleniumでデータ収集を自動化
- 9. Output練習のためProjectEulerを解いてみる #1
- 10. 【Python】unicodedata.normalize(‘NFKC’)について。互換分解してから再度合成するとは?
- 11. フラクトゥーア(フラクトゥール,亀甲文字,ブラックレター)を26アルファベットに変換するPythonコード(Pythonista 3対応)
- 12. 26アルファベットをフラクトゥーア(フラクトゥール,亀甲文字,ブラックレター)に変換するPythonコード(Pythonista 3対応)
- 13. Pythonで『The MagPi』の全号を一括ダウンロードするスクリプト
- 14. スマートリモコンをChatGPT(Function Calling)を使ってよりスマートにしよう!
- 15. EC2 amazon linux にPythonを入れてみよう 入門
- 16. obsws-pythonのテキスト編集で沼った話
- 17. [自分用]Xで指定したテキストを含むハッシュタグ付き等の投稿を検索・取得する
- 18. LinuxでPythonの仮想環境(venv)を作る方法
- 19. はじめてのPytest
- 20. めも(WIN10)
BigQueryを使用してCSVデータを集計する
### はじめに
pandasで生徒の点数のデータフレームを作成しCSVファイルへ変換を行いGCSへアップロードします。
その後BigQueryからGCSのCSVファイルを読み込み平均点を算出してみます。### GCSへCSVファイルのアップロード
sampleデータを作成し、CSVファイルをGCSにアップロードします。
まず、GCSへ接続するために必要なPythonライブラリをインストールします。
“`py
pip3 install google-cloud-storage
“`
pandasで生徒のテストの点数を作成します。
“`py
import pandas as pd# サンプルデータの作成
data = {
‘Student’: [‘Alice’, ‘Bob’, ‘Charlie’, ‘David’, ‘Eva’],
‘Math’: [88, 92, 75, 90, 85],
‘Science’: [95, 85, 80, 70, 90],
‘English’: [78, 89, 85, 95, 92]
}
# データをData
プログラミング初心者のQAエンジニアがExcelからテスト実行するプログラムを作ってみた
## どのくらいプログラミング初心者か
– 就活時代:Javaを少し勉強する
– QA(1~2.5年目):ブラックボックステスト中心でコードなんてわからない
– QA(2.5~3年目):テスト自動化とかもあるし、そろそろ勉強するか
– Progate、Udemy、友人からpythonのもろもろを教わる
– 基礎知識できたし、ちょっと何か作ってみる## 今回のプログラムについて
今回の目標は「勉強の応用編としてプログラムを作成する」を目標としたため、GUI形式/ローコードのテスト実行プログラムではない。
手動で以下の対応が必要となる。
– Excelファイルの作成
– 作成ファイルの該当行にxpathや実行してほしい内容を記載
– コマンドプロンプトでpy [ファイル名].pyを実行また、以下の基礎的な操作が実行できるだけである。
– ボタンなどの押下
– テキストボックスなどへの入力
– 文章の比較
## 環境情報
### OS
– Windows11### 言語
– Python3### ライブラリ
– Selenium
– openpyxl##
DockerのUbuntuコンテナにPython3をインストール
前回からの続き
ubuntuのdockerコンテナを準備したのはいいけど
Pythonって入ってんの?“`
# python3
bash: python3: command not found
“`うん入ってないね
インストールしましょう
その前にapt-getをupdateしましょう
“`
# apt-get update
“`終わったらPythonをインストールしましょう
“`
# apt-get install -y python3 python3-pip
“`インストールされてるか確認
“`
# python3
Python 3.12.3 (main, Sep 11 2024, 14:17:37) [GCC 13.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
“`よし、終わり😊
BIKE SHARING DEMAND データ分析
Aidemy様の専門実践教育訓練講座を受講、これの最終成果物として記事作成。
Kaggleの上位2.9%という結果。
講座修了の合否に使用される記事は順序立て・考察等で冗長な為、詳細な考察を少々省いたものを作成。
この記事を見ると同じ分析ができて、且つなぜその分析を行うかという理由も理解できるように情報量は残した(つまり、依然膨大な記事)。
目次から気になる点へ飛んでいただけると良いと思う。講座修了用の「冗長なバージョン」はこちら:
https://qiita.com/SumMae/items/f0f221735f94c06c609e
# 目次
– [**はじめに~記事概略まとめ**](#はじめに記事概略まとめ)
– [**分析環境**](#分析環境)
– [**テーマについて**](#テーマについて)
– [Bike Sharing Demand 概略](#bike-sharing-demand-概略)
– [分析用データ](#分析用データ)
– [評価指標](#評価指標)
– [目標値設定]
FastAPIで簡単なリアルタイムチャットの仕組みを作る
## はじめに
はいどうも、たねだです。
相変わらずPythonの勉強をしています。さて、今回はFastAPIを使って最小限の機能を備えたリアルタイムチャットの仕組みを作りました。
引き続きQiitaに掲載していくかどうかはさておき、今後さらに内容をアップデートしていきたいと思った仕組みになったので
ちょっとしたプロトタイプとして記事に残そうと思います。
ただ、実際に中身を作ったのは少し前のことなので忘れているところもあるかもしれませんがあしからず。また、いつも通り今回の内容も公開リポジトリを置いてますので、
よかったらこちらもご覧いただければと思います。https://github.com/t4ned4/realtime-chat-system/tree/main
## さっそく作っていく
今回も`Python3.12.4`でつくっていきます。
私の記憶が正しければ、特別に構築したような環境はなかったと思います。特に今回はほぼ最小単位でつくりますのでディレクトリ構成も下記の通り非常にコンパクトです。
![image.png](https://qiita-image
【Python】venvを利用した仮想環境
# はじめに
最近現職の同期と勉強がてらアプリ制作を始めました。
そこで初めてPythonを触って仮想環境なるものを知りました。
今回はvenvを利用した仮想環境の作成方法について備忘録として残します。# 環境
– macOS: 15.0(24A335)
– Python: 3.12.5 (グローバル)
– Visual Studio Code : 1.93.0 (Universal)# Pythonの仮想環境とは?
自身のPC上で、独立したPythonの実行環境を作成する仕組み。
下記のようなメリットがあるようです。> (1)環境ごとに異なるバージョンのPythonを使える
> (2)環境ごとに異なる外部ライブラリをインストールできる
> (3)環境ごとに異なるバージョンの外部ライブラリをインストールできる引用元: [実務で必須の「Python仮想環境」について学ぼう!](https://www.insource.co.jp/python-gakuin/mail-backnumber/vol30.html)
# 仮想環境の作成と利用方法
仮想環境を作成する方法は
お酒の画像をCNNに学習させてみる
## はじめに
[前回の記事](https://qiita.com/cnysntry/items/448d592c8d317de1b9f6)で少ない画像データを平行移動や回転などを行い増やす手段について記載しました。今回はその増やしたお酒の画像データをCNNに学習させ、ディープラーニングでどこまで正確に判断できるかについて試してみました。## お酒画像を学習させる
まずは、以下の8種類のお酒画像を各10枚ずつ準備し、[前回の記事](https://qiita.com/cnysntry/items/448d592c8d317de1b9f6)の方法を使ってデータ拡張してCNNで学習させてみました。lagavulin
bowmore
caolila
kilchoman
bunnahabhain
bruichladdich
ardbeg
laphroaigその結果は以下の通りとなりました。
![isla_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3750854/864111d9-6e0b-
【備忘録】Python×Seleniumでデータ収集を自動化
# はじめに
Pythonの「requests」と「bs4(beautifulsoup)」を使って、ウェブサイトからデータをスクレイピングしようとしましたが、そのサイトは動的にデータを表示するタイプだったため、思うようにデータを取得することができませんでした。そこで、「Selenium」を試したところ、うまくスクレイピングができましたので、備忘録として「Python × Selenium」を使ったスクレイピングの方法をまとめておきたいと思います。
# 想定する読者
* Python × Seleniumでデータ収集を自動化したい方# Seleniumとは?
Seleniumは、ウェブブラウザを自動で操作するためのオープンソースのテスト自動化ツールです。ウェブアプリケーションの機能テストやスクレイピング、ブラウザ操作の自動化に使用されます。Seleniumは、開発者やテスターが実際にブラウザを使って行う操作をプログラムでシミュレートすることができます。
**主な特徴**
1. ブラウザ自動操作
* Seleniumを使用すると、ブラウザで行う操作(ページの読み込
Output練習のためProjectEulerを解いてみる #1
本日から、コーディング力の向上とアウトプットする力を高めるために、毎週一問ProjectEulerの問題を解いてみようと思います。いろいろ至らない点もあると思いますが、ご容赦いただければと思います。
# ProjectEulerとは
数学の問題をプログラムを用いて解くサイトです。最初の100問までは答えを掲載してもよいという規則があるので、そこまで記事を書くことを目指していこうと思います。#### マイルール
– 拡張性を持たせる
条件として、N <= 1000000 とかがあるのですが、その条件を厳しくしても成り立つようなコードを書いていこうと思います
– 一つのコードで完結させる
前処理とかが必要な問題でも、なるたけ一つのコードで完結させるようなコードを書きたいと思います。
– 読みやすいコードを書く
基本的には、コーディング規約とリーダブルコードに従ったコードを書いていきます。では早速解いていこうと思います。
# #1 Multiples of 3 or 5
問題文 If we list all the natural numbers below 10 that ar
【Python】unicodedata.normalize(‘NFKC’)について。互換分解してから再度合成するとは?
# 概要
Pythonの`unicodedata.normalize`の`NFKC`を使ってみたので、サンプルコードと共に紹介します。# Unicodeの正規化のNFKCとは?
`unicodedata.normalize`は、そのまま「Unicodeの正規化」という意味です。
[Wikipedia](https://ja.wikipedia.org/wiki/Unicode%E6%AD%A3%E8%A6%8F%E5%8C%96)は以下のように説明されています。> Unicode正規化(ユニコードせいきか、英語: Unicode normalization)とは、等価な文字や文字の並びを統一的な内部表現に変換することでテキストの比較を容易にする、テキスト正規化処理の一種である。
Pythonで使う`unicodedata`モジュールとは、Unicode文字列を正規化するためのライブラリ(関数)です。
また、`NKFC`について、[公式ドキュメント]()には以下のように記載がありました。
> 正規形 KC (NFKC) は、互換分解を適用してから、標準分解を適用します。
フラクトゥーア(フラクトゥール,亀甲文字,ブラックレター)を26アルファベットに変換するPythonコード(Pythonista 3対応)
# はじめの前のおねがい
できれば「いいね♡」をお願いします。励みになります。# はじめに
このコードは**Python 3**と**Pythonista 3**に対応しています。本コードはクリップボード内にある通常のアルファベット(ä, ö, üなどには未対応)をUnicodeに用意されているフラクトゥア(亀甲文字,ブラックレター)に変換するコードです。# 本コードを実行するとどうなるか
本コードは
1. クリップボード内のある通常のアルファベットを検知
1. Unicodeに用意されているフラクトゥア(亀甲文字,ブラックレター)に変換
1. クリップボードに再コピーを行います。
# 例
実行前のクリップボード:
𝔚𝔢𝔩𝔠𝔬𝔪𝔢 𝔱𝔬 𝔱𝔥𝔢 𝔈𝔫𝔤𝔩𝔦𝔰𝔥-𝔩𝔞𝔫𝔤𝔲𝔞𝔤𝔢 𝔚𝔦𝔨𝔱𝔦𝔬𝔫𝔞𝔯𝔶, 𝔞 𝔠𝔬𝔩𝔩𝔞𝔟𝔬𝔯𝔞𝔱𝔦𝔳𝔢 𝔭𝔯𝔬𝔧𝔢𝔠𝔱 𝔱𝔬 𝔭𝔯𝔬𝔡𝔲𝔠𝔢 𝔞 𝔣𝔯𝔢𝔢-𝔠𝔬𝔫𝔱𝔢𝔫𝔱 𝔪𝔲𝔩𝔱𝔦𝔩𝔦𝔫𝔤𝔲𝔞𝔩 𝔡𝔦𝔠𝔱𝔦𝔬𝔫𝔞𝔯𝔶. ℑ𝔱 𝔞𝔦𝔪𝔰 𝔱𝔬 𝔡𝔢𝔰𝔠𝔯𝔦𝔟𝔢 𝔞𝔩𝔩 𝔴𝔬𝔯𝔡𝔰 𝔬𝔣 𝔞𝔩𝔩 𝔩𝔞𝔫𝔤𝔲𝔞𝔤𝔢𝔰 𝔲𝔰𝔦𝔫𝔤 𝔡𝔢𝔣𝔦𝔫𝔦𝔱𝔦𝔬
26アルファベットをフラクトゥーア(フラクトゥール,亀甲文字,ブラックレター)に変換するPythonコード(Pythonista 3対応)
# はじめの前のおねがい
できれば「いいね♡」をお願いします。励みになります。# はじめに
このコードは**Python 3**と**Pythonista 3**に対応しています。本コードはクリップボード内にある通常のアルファベット(ä, ö, üなどには未対応)をUnicodeに用意されているフラクトゥア(亀甲文字,ブラックレター)に変換するコードです。# 本コードを実行するとどうなるか
本コードは
1. クリップボード内のある通常のアルファベットを検知
1. Unicodeに用意されているフラクトゥア(亀甲文字,ブラックレター)に変換
1. クリップボードに再コピーを行います。
# 例
実行前のクリップボード:
Welcome to the English-language Wiktionary, a collaborative project to produce a free-content multilingual dictionary. It aims to describe all words of all languages using definitio
Pythonで『The MagPi』の全号を一括ダウンロードするスクリプト
「The MagPi」は、Raspberry Piに関する情報を提供するマガジンです。チュートリアル、プロジェクトのアイデア、最新情報などを掲載し、コーディングやロボティクス、DIYエレクトロニクスに興味のある人々にとって役立つ内容が満載です。
The MagPi” のPDFは公式サイトで無料でダウンロードできます。最新号からバックナンバーまで、Raspberry Piに関する様々な記事やプロジェクトが掲載されています。公式サイトを訪れて、直接ダウンロードしてください。
Link: https://magpi.raspberrypi.com/issues
“`python:download_magpi_all_issues.py
# 『The MagPi』雑誌の全号を一括ダウンロードするPythonスクリプト
import webbrowser
from time import sleep as wait# 1から144までの範囲でループを実行
for i in range(1, 145):
# 号のダウンロードURLを生成
url = f”https://
スマートリモコンをChatGPT(Function Calling)を使ってよりスマートにしよう!
# スマートリモコンをよりスマートに!?
声から操作ができてしまうスマートリモコンですが、文脈から意図を認識するというところまでではないようです。そこで、今回はChatGPTのFunction Callingと呼ばれる機能を使って、人の意図をくみ取って、家電を操作してくれる装置を作ってみたいと思います。
実際の処理の流れとしては、以下になります。
1. プロンプトをChatGPTのAPIへ渡し、GPTにどの家電をどのように操作するのか判断してもらう(今回)
2. ChatGPTの判断結果から、ラズパイが赤外線で家電を操作今回はプロンプトを入力して、特定のスクリプトをたたくところまでのポイントとなった部分を紹介します。実際のコードは、GitHubにあげています。(https://github.com/arumi123/homebridge/tree/develop)
また、結果だけ見たいという方は、実際に呼び出してみよう!まで進んでください。
# Function Callingとは
人が入力した文字列(プロンプト)から、ChatGptが意図を読み取り必要な関数やAPIを
EC2 amazon linux にPythonを入れてみよう 入門
AWS EC2 インスタンスに Python をインストールする方法について説明します。以下の手順に従ってください。
### Amazon Linux 2 の場合
1. **パッケージリストの更新**:
“`bash
sudo yum update -y
“`2. **Python 3 のインストール**:
“`bash
sudo yum install python3 -y
“`### Ubuntu の場合
1. **パッケージリストの更新**:
“`bash
sudo apt update
“`2. **Python 3 のインストール**:
“`bash
sudo apt install python3 -y
“`3. **pip のインストール**:
“`bash
sudo apt install python3-pip -y
“`### Python と pip のバージョン確認
インストールが完了したら、以下のコマンドでバージョンを確認で
obsws-pythonのテキスト編集で沼った話
## obsws-pythonとは
obsws-pythonとは、OBS StudioのWeb Socketを使って
プログラムから色々なOBS上の操作ができるライブラリです。https://pypi.org/project/obsws-python/1.1.0/
…と言っても[当該ライブラリのGitHub](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md)を見てもいまいちわからなかった上に日本語の情報がかなり少なかったので非常に沼りました。
本記事では数ある機能の中でも主に**テキストソースの編集**にフォーカスして、私が確認できた内容を残そうと思います。`obsws-python`は以下でインストール可能です。
“`bash
pip install obsws-python
“`:::note info
結果だけ知りたい方はGitHubに概要とコードサンプルを載せているので[こちら](https://github.com/t4ned4/obsws-
[自分用]Xで指定したテキストを含むハッシュタグ付き等の投稿を検索・取得する
# 細々した話
## Basicプランの課金タイミングについての注意
1ヶ月100ドルと書いてあったが、登録したらそこで「1ヶ月分」課金されるわけではなかった(2024年9月時点での報告)。
* 最初に1週間分課金された(日割り)。
* 1週間後に1ヶ月分課金された。クレジットカードの締日と相談して経理系の手続きを行う場合は注意。
## 事前設定
APPを作ること。
必要な認証系の情報は、 「Apps」の個別アプリの「Keys and tokens」リンク(鍵マーク)で行けるページから作成・取得できる。
* API Key and Secret (Consumer Keysの下)
* Bearer Token(Authentication Tokensの下)
* Access Token and Secret (Authentication Tokensの下)※ User authentication settingsはデータ取得のみなら設定不要かと思われる。
## Searchの注意点(Basicプラン)
https://developer.x.com/
LinuxでPythonの仮想環境(venv)を作る方法
# 仮想環境(venv)とは
venvはPythonの仮想環境を作成する仕組みで、Pythonをインストールすると標準で利用できます。用途としては、プロジェクト別にインストールしたいパッケージを分けるときです。使っていきましょう。
# Linuxでvenvを作成してvenv使用する
“`bash:terminal
$ python3.9 -m venv (venvディレクトリ名) # 仮想環境を作成する
“`
このコマンドでvenvの環境が(venvディレクトリ名)に作成されます。“`bash:terminal
$ source (venvディレクトリ名)/bin/activate # 仮想環境に入る(有効化)する
“`
とsouceするとターミナルの先頭に括弧書きで使用している仮想環境の名前が表示されます。“`bash:terminal
$ which python # pythonのpathを表示
(venvディレクトリのPATH)/bin/python
“`
と表示されていればOKです。仮想環境を抜ける(無効化)するにはdeactivateコマン
はじめてのPytest
### テストコードをさくっと学んだので自分用のメモを残す
—
### Documents
[Pytest](“https://docs.pytest.org/en/stable/getting-started.html#get-started”)[GitHub](“https://github.com/pytest-dev/pytest/”)
—
### Installation
“`
pip install pytest
“`
—### まずは関数をテストする。
—
src >> testするファイルを格納“`
# src/code.py
def sum_numbers(a, b):
return a + b
“`
—
tests >> testcodeを格納するフォルダ
from folder_name import fileName
“`
# tests/test_1.py
from src import codedef test_1():
result = code.sum_numbers(1, 2)
めも(WIN10)
### SCOOP を使ってPython をInstallする
“`
#Power Shell
scoop install python
“`“`
python3 -V
#Python 3.12.2
“`“`
#Power Shell
mkdir Pyenv
“`“`
# python -m venv
python -m venv C:\Users\UserName\Pyenv
“`#### Script直下にActivate.ps1がある事を確認してActivate.ps1を実行する(仮想環境が有効になる)
“`
Scripts\activate.ps1
“`“`
CREATE TABLE shuzen_list (
id TEXT,
工事No TEXT,
工事内容 TEXT,
建物名 TEXT,
場所 TEXT,
受付日 TEXT,
工事完了日 TEXT,
売価予定金額 INTEGER,
売価合計 INTEGER,