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

Python関連のことを調べてみた
目次

GoogleアナリティクスUAデータのAPIを用いたバックアップ取得手順と注意

# 対応経緯
GoogleAnalyticsのUA(ユニバーサルアナリティクス)が終了し、2024年7月1日より、データが閲覧もできなくなります。

https://support.google.com/analytics/answer/11583528

それに備え、データのバックアップを取得しておく必要がありました。
レポート画面でひとつずつ手動でエクスポートしていられないため、Google Analytics Reporting APIを使用して取得したいと考えました。
# 環境
Windows10
Python3.7
(PCはプロキシ設定がされています)
# まず確認したもの
APIの仕様をまずは理解する必要があるので、公式のドキュメントを読みました。

https://developers.google.com/analytics/devguides/reporting/core/v4?hl=ja

公式ドキュメントにチュートリアルは存在しています。チュートリアルの通りに対応して問題なく取得できれば良かったのですが、いろいろと悪戦苦闘したため、今回まとめて記載しておこうと思い

元記事を表示

SentenceTransformersを使用したXML文書の類似検索のコード

SentenceTransformersを使用したXML文書の類似検索のコードです。
XMLの指定したタグについて類似度検索とキーワード検索できるようにしています。
XMLの文書の入ったフォルダの指定と、XMLで検索したいタグを指定すれば動くはずです。
動作にはstreamlit run test.pyとすればブラウザで検索できます。

“`python:test.py
import streamlit as st
import os
import xml.etree.ElementTree as ET
import re # 正規表現モジュールをインポート
from sentence_transformers import SentenceTransformer, util

# XMLファイルから特定の要素のテキスト内容を取得する関数
def get_xml_text_content(xml_file, element_name=’‘):
try:
tree = ET.parse(xml_file)
root =

元記事を表示

「python」音の出し方 研究引き継ぎ

# pythonで音を出す方法
pygameで動画ファイルを再生可能。

yoloへの組み込み方を模索。

object_counter.pyの217業めの領域への侵入を判定しているif文の中で音を鳴らせばいいと思う。

元記事を表示

【Flet入門】Fletって何?

# 想定読者
– Pythonの基本文法は、なんとなく分かっている人(入門者以上、初心者未満くらい)
– MacBookユーザー(サンプルコードの動作確認をしたい人)

# Fletとは?
Fletは、**Pythonのコードを使ってウェブアプリやデスクトップアプリを作成できるフレームワーク**です。
フレームワークとは、よく使われる機能があらかじめ用意されたツールです。

Fletを利用することで、
Python以外の知識に乏しくても、ウェブアプリを開発できます。

本来、画面を作るにはHTML, CSS, JavaScriptなどの言語を学ぶ必要があります。
Pythonと合わせ、それらの言語を学び実際に開発まで漕ぎ着けるのは、初学者にとって大きなハードルでしょう。

Fletを使うことで、HTMLなどの画面作成に使う言語知識が乏しくても、簡単にカッコいいデザインのウェブアプリを作成することができます。

# Fletを学ぶメリット
Fletを学ぶことには以下のようなメリットがあります。

– アプリを作りながらPythonスキルを向上できる:
ネットに転がっている情報やプログラミ

元記事を表示

Python requestsで画像ファイルをダウンロード

pythonのwebスクレイピングで、結局requestsでいいことが判明したので書いていく。
# やり方
テキストや、画像はそれぞれurlを持っている。そいつをrequest.get()にわたすと、データを返してくれるので、それをファイルに書き込めばおkらしい。
### コード
“`websc.py
import requests

tag=画像のurl
responce=requests.get(tag)

with open(‘newfile’,’wb’) as savefile:
savefile.write(responce.content)
“`
.contentがついている意味は自分でもわかっていない。
画像のurlは、右クリックで、「画像のリンクをコピー」でわかる。
書き込まれたファイルのファイル拡張子を画像のものに変更して開けば、ダウンロードしたやつが見られる。

元記事を表示

ChatGPTや他3種の生成AIに、自動でマウス操作をするコードを聞いて、結果を比較 →どれも正常動作

# はじめに

本稿では、下記の記事で記載した、自動でマウス操作を行うコードの作成について、
4種の生成AI、ChatGPT・Phind・Microsoft Copilot・Google Gemini、のコード生成結果を比較します。

https://qiita.com/dl_from_scratch/items/8318e99052b7118022e8

画面内のある位置を1分ごとに押しておいてほしい…(何かの表示更新などの用途で)、簡易的なコードがさっくりほしいけれど、わざわざこんなことのために検索して読み調べてコードを作るのは(簡単なコードであっても)面倒くさいな…、と思ってしまいます。

そこで、4種の生成AIに聞いて、マウス操作を行うサンプルプログラムを作ってもらい、うまく動作するかを試してみます。

# ChatGPTにサンプルプログラムを聞いてみる

Pythonのコードで出来るかどうかをまず聞いてみます。

https://chat.openai.com/

質問中の画面例:
![image.png](https://qiita-image-store.s3.

元記事を表示

日本語用Sentence-LUKEモデルを用いたレコメンドモデル作成【Flask編】

## 前回の振り返り
前回の記事では、日本語用Sentence-LUKEモデルを用いたレコメンドモデルをターミナル上で実行することに成功しました!
もし前回の記事を見ていない方は、先に以下の記事を見ることをおすすめします!

https://qiita.com/sowallows10/private/55556e16040e480d5b9f

## 今回の目標
今回では、前回作成したモデルを用いて、実際にWEBアプリに落とし込む所までを目標にしていきます!
最終的には、トップページから、今の気分でおすすめのビールをレコメンドする気分診断のページを作っていきます! ※但し、性格診断は省きます。
![スクリーンショット 2023-11-18 3.01.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3529811/45764065-f23c-a152-fc37-6f9434e8621b.png)
![スクリーンショット 2023-11-18 3.01.14.png](https://qiit

元記事を表示

日本語用Sentence-LUKEモデルを用いたレコメンドモデル作成

## はじめに

Hugging Faceにあった[日本語用LUKE](https://huggingface.co/sonoisa/sentence-luke-japanese-base-lite)を使用してレコメンドモデルを作成してみました。
本記事では、model.pyの作成までを解説します!

## Sentence-LUKEとは
Studio Ousia様によるLUKEモデルをベースに学習したSentence-LUKEモデルです。
日本語Sentence-BERTモデル(バージョン2)と比べて定量的な精度が同等〜0.5pt程度高く、定性的な精度は本モデルの方が高い結果でした。

## 目標
anacondaの仮想環境内で日本語用Sentence-LUKEを使い、必要なデータのスクレイピングから文章と単語の類似度を測るところ、レコメンドまでをやっていきます。
今回は[こちらのサイト](https://www.craftbeer-times.com/category/review/)からスクレイピングをして、おすすめクラフトビールのレコメンドをターミナルへ出力できるところまでを行

元記事を表示

discord.pyでアプリケーションコマンドを実装する

# はじめに

discord.pyは近年アップデート続きで情報が不確かで、日本語の文献が少なかったため書いてみました。

この記事では簡単にアプリケーションコマンド(スラッシュコマンド)を実装するための方法を解説します。

## この記事の対象者

– ある程度Pythonの知識があり、discord.pyでアプリケーションコマンドを実装したい。

## 前提知識

– 基本的なPythonの記法と仕様を理解している
– discord.pyの基本的な使い方を知っている

# 実装

## 基本的な実装

以下のコードは引数を取らない基本的な実装です:
“`python
from os import environ

import discord
from discord.ext import commands

intents = discord.Intents.all()
bot = commands.Bot(intents=intents, command_prefix=”!”)
tree = bot.tree

@bot.event
async def on_ready()

元記事を表示

Application Insights による Python アプリ (Flask) の監視設定 (OpenTelemetry版)

# 本記事について

本記事では、Azure の APM サービスである [**Application Insights**](https://learn.microsoft.com/ja-jp/azure/azure-monitor/app/app-insights-overview) を使って、Python ベースのウェブアプリケーションの監視の設定について見ていきます。特に、サンプルとして Flask のアプリケーションを使って確認していきます。

# Azure Application Insights とは?

Application Insights は Azure Monitor の一機能として、APM (Application Performance Management) サービスを担っています。

https://learn.microsoft.com/ja-jp/azure/azure-monitor/app/app-insights-overview

アプリケーションの監視について、ログ収集、メトリック管理、アプリケーションのマップの作成、分散トレーシング、可

元記事を表示

【初めての人用】 Django環境構築 ロケット飛ばすところまで。

Djangoの開発環境をセットアップ

ざっと説明すると、

・ディレクトリを作る
・virtualenvのインストール
・ディレクトリの中でpythonの仮想環境を作る。
・djangoのインストール

:::note alert
環境構築にはpythonのインストールが必要。
:::

pythonのインストールはここ
https://www.python.org/

1) ディレクトリの用意

コマンドプロンプトを起動、階層は任意の場所で下記のコマンドを実行。
“`
mkdir Django //フォルダができる
cd Django //フォルダに移動
“`

2) 仮想環境の用意

  • フォルダに移動出来たら、必要なライブラリをインストール
  • “`
    pip install virtualenv
    “`

    “`
    python -m venv venv    //仮想環境を作る
    “`

    一応補足すると、python -m venv の後は仮想環境フ

    元記事を表示

    Pandasのメソッドチェーンを使ってデータ処理を効率化しよう

    # はじめに
    Pandasは、Pythonのデータ操作やデータ分析を行うためのライブラリですが、メソッドチェーンを活用したことはありますか?
    メソッドチェーンを活用することで、コードの可読性を高め、効率的にデータ処理を行うことができます。

    # メソッドチェーンについて
    メソッドチェーンとは、複数のメソッドを連結して一連の処理を行う記法のことです。
    例えば、csvファイルを読み込んで、カラム名を変更し、欠損値を削除からの、特定のカラムでソートをかけたい。などといったデータ処理があったとします。
    通常、この操作を行う場合は以下のようなコードになるかと思います。

    “`python
    import pandas as pd

    df = pd.read_csv(“data.csv”)
    df.rename(columns={“old_name”:”new_name”}
    df.dropna()
    df.sort_values(“column_name”)
    “`

    まあ、これでも全然いいんですが、メソッドチェーンを使用することで、各メソッドの出力が次のメソッドの入力となるため、最終的な結果のみ返さ

    元記事を表示

    レシートを読み込んで家計管理をする記録 ~OCRを比較してみよう~

    一通り調査したところで、以下3つのOCRに同じレシートを読み込ませて結果を比較してみる。
    ・Google Vision API
    ・Tesseract
    ・MMOCR

    ### Google Vision API
    ・おおむね、というかほぼすべて正確に読み取れる。
    ・フォントの大きさや全角半角一切関係なくちゃんと読み取れてるのはありがたい。
    ・———-は読み取れていない模様。まあ使わないからよし。
    ・出力される順番が少しおかしい。小計・合計のあたりが小計項目名→合計項目名→消費稅項目名→小計金額→合計金額→消費稅金額になってる。

    “領収証
    株式会社 富士薬品
    ドラッグセイムス 新河岸店
    TEL 049-241-2715
    2024年02月23日 (金)20時07分 #3969
    内* キリン生茶2L
    @149
    1
    SEIMS
    内*
    *
    149
    ワンポットエコティーバッグホウジ茶50袋
    @386
    1
    386
    -¥58
    104
    49

    元記事を表示

    Pythonで衛星画像処理 ~MajorTOM~

    この記事では、ESAのΦ Labが提供する衛星画像データセット用フレームワーク「Major TOM」の紹介と、pythonを使った簡単な衛星画像処理をしたいと思います。(実行環境はGoogle Colabratoryです。)

    ![Unknown-18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/909214/46e4784d-d6ec-7467-a2dd-4fab9dab73ab.png)

    衛星画像処理をしようと思うと、データを入手するのに手間がかかったり、専用のソフトウェアの使い方を覚えなければならなかったりと、何かとハードルが高いものです。

    しかし、このMajor TOMを使うと簡単に衛星画像データにアクセスできます。
    また、この研究では、MajorTOM-Coreという地球の大部分をカバーするオープンアクセスなデータセットを提供しています。これを用いれば、アカウント登録などをせずに衛星データを取得できます。

    Major TOMのリンク
    [Git Hub](https://github.c

    元記事を表示

    ラインをポイントで切断

    **実行環境**
    Windows11
    python 3.11.7
    geopandas 0.14.3
    shapely 2.0.2

    ## はじめに
    ラインタイプの GIS データを、ポイントタイプの GIS データで切断する方法について書きます。

    ![img01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1409923/1481f6da-f914-b25d-cf3b-ed09c6a5f11e.png)

    GIS ソフトの編集機能でもラインを切れますが、数が多い場合は何らかの方法で一括処理したいところです。

    QGIS のドキュメントを漁ってみると、[線で分割](https://docs.qgis.org/3.34/ja/docs/user_manual/processing_algs/qgis/vectoroverlay.html#split-with-lines) というツールがありましたが、**点**で分割というツールは見当たりませんでした。

    ArcGIS Pro には、[ポイントでラインを

    元記事を表示

    Pythonで〇×ゲームのAIを一から作成する その60 弱解決の定義と性質とその判定方法

    # 目次と前回の記事

    https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

    https://qiita.com/ysgeso/items/d7f60ba34f167f77a87e

    ## これまでに作成したモジュール

    以下のリンクから、これまでに作成したモジュールを見ることができます。

    https://github.com/ysgeso/marubatsu/blob/master/059/marubatsu.py

    https://github.com/ysgeso/marubatsu/blob/master/059/ai.py

    ## これまでに作成した AI

    これまでに作成した AI の アルゴリズム は以下の通りです。

    | ルール | アルゴリズム |
    |:-:|:–|
    | __[ルール1](https://qiita.com/ysgeso/items/bdbcd4c1ab1d8731df58#%E6%9C%80%E5%88%9D%E3%81%AB%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A

    元記事を表示

    Apple silicon(M1/M2/M3)にPython3.7系をインストールする

    ## 概要
    とあるニーズでPython3.7系をApple silicon(M1/M2/M3)にインストールした。その際意外と大変だったためメモ。

    ### 大変だった理由:
    * Python3.7のApple silicon向けpre-buildがなく、x86のものを使う必要がある。
    * Python3.7系は2023年にサポート終了しているため、各種パッケージ管理ツールでインストール対象から外れている。

    以上から、x86コマンド互換のHomebrewを用意して対処する方針とした。

    ## インストール手順
    ### x86版Homebrewのインストール
    “`sh
    $ arch -x86_64 /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
    “`
    画面に指示が出るとおり、`/usr/local/bin/brew` にbrewコマンドが用意される。
    つまり、通常のApple silicon用brewと共存できる。

    ### x86版用のa

    元記事を表示

    空間ベクトル「2024 広島大学 前期 理系【2】,文系【3】」をChatGPTとsympyとFreeCADでやってみたい。

    **パイソニスタの方へ**
    **・コマンド1個で、(ChatGPTとsympyとFreeCADを)投稿する方法がありますか?**

    ・(省略)だらけで申し訳ありません。ChatGPT用のステキなテンプレートありませんか?
    ・黒背景に、2色があってもいいですね。

    # オリジナル
    河合塾 様
    問題解答解説
    https://nyushi.sankei.com/honshi/24/hr1-21p.pdf#page=2
    https://kaisoku.kawai-juku.ac.jp/nyushi/honshi/24/hr1-21a.pdf#page=2
    >2024年解答速報 数学入試問題 様
    https://kamelink.com/exam/index.php?2024%C7%AF%B2%F2%C5%FA%C2%AE%CA%F3#hf2992ad

    公式ホームページ
    未登録(2024/02/27)

    # sympyで(オリジナル 様の方法で)
    ・勉強中

    # ChatGPT-3.5先生へ
    大学入試数学問題集成 様> 2024 広島大学 前期MathJax【2】テキスト
    https://m

    元記事を表示

    Pythonで「range関数の使い方(開始から終了までの連続した数値を要素として持つrange型オブジェクトを作成する)」の動作を確認してみた

    # 概要

    Pythonで「range関数の使い方(開始から終了までの連続した数値を要素として持つrange型オブジェクトを作成する)」の動作を確認してみました。
    以下のページを参考にしました。

    https://www.javadrive.jp/python/function/index6.html

    # 実装

    以下のファイルを作成しました。
    “`sample.py
    r = range(10)
    for i in r:
    print(“num : ” + str(i))
    “`

    以下のコマンドを実行しました。
    “`
    $ python3 sample.py
    num : 0
    num : 1
    num : 2
    num : 3
    num : 4
    num : 5
    num : 6
    num : 7
    num : 8
    num : 9
    “`

    # まとめ

    何かの役に立てばと。

    元記事を表示

    【Databricks】1000人分のワークスペースとクラスターを1日で作る方法【SDK for Python】

    # はじめに
    今年1月から2月にかけて、「第2回 金融データ活用チャレンジ」が一般社団法人金融データ活用推進協会 (FDUA) 様の主催で開催され、3月8日に表彰式が行われました。

    https://prtimes.jp/main/html/rd/p/000000013.000103937.html

    このイベントは、金融業界において発展途上であるデータ活用の分野における人材を育成・発掘するための分析コンペティションであり、Databricks などのビッグデータ分析ツールを希望した参加者に提供いたしました。ありがたいことに、**Databricks の利用を希望し、ワークスペースを提供させていただいたユーザー数は最終的に1000人を突破しました。**

    今回、Databricks 様、そして Microsoft 様のパートナーとして、Microsoft Azure 上の環境にて提供する、大規模なワークスペースの環境立ち上げに携わらせていただくことになり、何百人ものユーザーが利用する(かもしれない)環境で各個人用にリソースを用意することになりました。

    通常、Databricks でユ

    元記事を表示

    OTHERカテゴリの最新記事