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

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

Python 初級入門 制御フロー

## 前提
– python初学者、触ったことない人が投稿しています
– 個人的にあまり馴染みのない書き方について記載しています
– 誤っている箇所等があればコメントでご指摘いただけると幸いです
– こちらの記事は[基本](https://qiita.com/takemaru_shuna/items/b510a8cc6b3e296c9ca3)の続きとなっていますので気になる方は是非!

## Pythonの基本?
– 複数行にわたって書く場合はダブルクォート3つ
– また、コメントは横ではなく上に書くのが暗黙のルール
– 次の行に行くのは80文字(これはPython関係ないかも)
“`.py
# コメント

# ほんとか?
“””
これがコメントになるらしい
“””

# 一行が長くなって次の行に行きたい時は\
s = “ssssss” \
+ “aaaaaa”
# ()で囲っても同義
s = (“ssssss”
+ “aaaaaa”)

>>> s # ssssssaaaaaa

“`

## if文
– インデントで次の行が判断される
– インデントずれでエラーが起こるので注

元記事を表示

Weaviateの初歩 Pythonでオブジェクトを扱ってみる

[以前の記事](https://qiita.com/yasuyuki_terashi/items/64a6f4d71c64a18e17a3)でコレクションを作ったので(スキーマが定義されたので)、実際にデータを作成、取得、削除することをやってみます。

# どのようなデータを作るか
先の記事で、以下のようなコレクションTestA,TestBを作りました(ER図で表すのがいいのかよく分かりませんが)。
“`mermaid
erDiagram
TestA ||–o{ TestB:””

TestA{
text title
text summary
}
TestB{
int chapter
text text
}

“`
そこで、TestAに親オブジェクトを一つ、TestBに子オブジェクトを三つ作成したいと思います。また親オブジェクトと子オブジェクトとの間に相互のリファレンスを設定します。リファレンスには名前を付けることが出来るので、親オブジェクトから子オブジェクトへのリファ

元記事を表示

Heroku+Selenium+Chrome+Pythonでの日本語設定にハマった話

Heroku + Selenium + Chrome + Pythonの組み合わせでスクレイピングをしていたのですが、dynoを再起動したせいか、なぜか突然ページの言語が英語に。

色々と調べてみたところ、optionsの設定が足りなかったようで、だいぶハマりました。

# 従来の設定

これまでwebdriverに設定していたoptionsの内容です。

“`py
options = webdriver.ChromeOptions()
options.add_argument(‘–headless’)
options.add_argument(‘–window-size=1920,1080’)
options.add_argument(‘start-maximized’)
options.add_argument(‘–disable-gpu’)
options.add_argument(‘–no-sandbox’)
options.add_argument(‘–disable-dev-shm-usage’)

元記事を表示

SQLAlchemyとfactory_boy

SQLAlchemyで各テーブルをモデルクラス化し、factoryboyを使う想定でサンプルになるコードを示してください

– 単純なテーブルを(id,text,int,datetime)モデルクラスとして作成
– 上記のモデルクラスを使って登録、更新、取得処理
– 上記の処理のunit testをfactoryboyで作成し、モデルクラスのfactoryを作って対応

以下は、AWS Lambda環境でPythonを使用してSQLAlchemyを導入し、単純なテーブルをモデルクラス化し、`factory_boy`を用いてユニットテストを行うサンプルコードです。以下の手順に従って実装を進めてください。

## 目次

1. [環境のセットアップ](#1-環境のセットアップ)
2. [モデルクラスの定義](#2-モデルクラスの定義)
3. [CRUD操作の実装](#3-crud操作の実装)
4. [Factoryの定義](#4-factoryの定義)
5. [ユニットテストの作成](#5-ユニットテストの作成)
6. [AWS Lambdaへのデプロイ](#6-aws-

元記事を表示

解熱消六鎮閣剤!理解不能なOCRの誤認識を赤ペン先生GPT-4oが直します!

## お薬手帳持って行ってますか?
皆さん病院に行くとき、必ずお薬手帳を持って行ってますか?
私は最近病院に行ったとき完全に頭から抜けていました…

:::note info
__お薬手帳を持っていったときのメリット__
1. 飲み合わせや重複などを確認できる
2. 転居や災害時でも処方してもらえる
3. 管理指導料が安くなる場合がある
:::

お薬手帳には、上記のようなメリットがありますが、正直病院へ行く際に忘れてしまう人は多いのではないかと思います。

今回は、お薬手帳を持たなくても済むように、お薬手帳に貼る薬の情報が書かれたシールの画像から、薬の情報をデータ化してみました。

### 元の画像
スマホで撮った画像です。
![IMG_3190.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3682615/7b48af78-14b7-6751-9e99-865daa3644a1.jpeg)

### 最終的な出力
JSON形式で、「薬の種類」、「効能」、「一日何錠」、「一回何錠」を出力しました

元記事を表示

CatBoostを使ったPythonでのデータ分析入門

## はじめに

CatBoostは、機械学習の世界で注目を集めている強力なアルゴリズムです。この記事では、Pythonを使ってCatBoostの基本から応用までを15章に分けて詳しく解説します。初心者の方でも理解しやすいように、各章では丁寧な説明とサンプルコードを提供します。

## 第1章: CatBoostとは

CatBoostは、Yandexが開発した勾配ブースティングライブラリです。カテゴリカル変数の処理に優れており、高速で精度の高い予測モデルを構築できます。

まずは、CatBoostをインストールしましょう。

“`python
!pip install catboost
“`

## 第2章: データの準備

CatBoostを使う前に、データを準備する必要があります。ここでは、scikit-learnの有名なIrisデータセットを使用します。

“`python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# データの読

元記事を表示

PythonのKerasを使った深層学習入門

## はじめに

こんにちは!今回はPythonのKerasライブラリを使った深層学習について、わかりやすく解説していきます。Kerasは直感的で使いやすい深層学習フレームワークで、初心者の方でも簡単に始められます。それでは15章に分けて、コード例を交えながら丁寧に説明していきましょう。

## 第1章: Kerasとは

Kerasは、Pythonで書かれた高水準のニューラルネットワークライブラリです。TensorFlowやTheanoなどのバックエンドを使用し、簡潔で読みやすいAPIを提供します。

Kerasの特徴:
– 使いやすさ: 直感的なAPIで、モデルの構築が簡単
– モジュール性: レイヤーを積み重ねるだけでモデルを作成可能
– 拡張性: 新しいモジュールを簡単に追加できる

まずはKerasをインストールしましょう:

“`python
pip install keras
“`

## 第2章: Kerasの基本的な使い方

Kerasでは、Sequential APIを使って簡単にモデルを構築できます。以下は基本的な使い方の例です:

“`python
fro

元記事を表示

PythonのCaffeを使った深層学習の初心者向けチュートリアル

## はじめに

Caffeは深層学習のためのオープンソースフレームワークです。画像認識や物体検出などのタスクに広く使われています。この記事では、PythonでCaffeを使う方法を段階的に解説していきます。

## 第1章: Caffeのインストール

まずはCaffeをインストールしましょう。Ubuntuを使用している場合、以下のコマンドでインストールできます。

“`bash
sudo apt-get update
sudo apt-get install -y python-dev python-pip
sudo pip install numpy scipy
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install -y –no-install-recommends libboost-all-dev
sudo apt-get install -y

元記事を表示

小さなGPUでのエンジニアリング。自動的にFPSを計測し内蔵GPUのレンダリングパフォーマンスを探るゲーム。

![スクリーンショット 2024-09-04 053217.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/eac78ecd-d880-abf8-d1c9-c8f76686bff2.png)

![スクリーンショット 2024-09-04 053945.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/869b7107-c319-1fbd-b310-2488b3cd8471.png)

![スクリーンショット 2024-09-04 054110.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/d3b670f4-a448-9208-e838-b3617b23bba4.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

小さなGPUでのエンジニアリング。数値シミュレーションからAIへ。

https://qiita.com/tetsutakamurata76/items/449c6f3f2086a963b041

##### GPT-2: ショートストーリー: 「数値からaiへ」数値のaiは、aiが人間に与える影響を数値で表し、数値がaiに与えている影響の量と、人間のaiの数値との差をaiによって表します。 数値はaiが行う数値計算のアルゴリズムによって、人間が計算した数値を、人間が行う計算方法によって計算しますが、この数値を計算するアルゴリズムは「数値」と「ai」の2種類があります。 「aiによる数値処理」は、「数値による計算」に比べて、精度が格段に向上しています。 例えば、ある数値にaiが行った数値の結果を「計算結果」として表示しますと、「計算結果は、計算式によって数値として表されます。」というように

#### GPT-4: ショートストーリー: 「数値からAIへ」
東京の夜が深まるころ、都会の喧騒から少し離れた小さなアパートメントの一室で、田中健一はパソコンの前に集中していた。彼は熱心なプログラマーで、物理シミュレーションの数値計算を行う仕事をしていた。画

元記事を表示

SlackのBotによるチャンネル管理を容易にするライブラリを3日で作った

ぶっちゃけ車輪の再発明寄り。車輪を木製からゴム製に変えました。

# 概要
学内のチーム実習において、SlackのBotを用いた制作物の作成を企画しており、それに対する操作が意外と煩雑で、使い回しが多かったため、インスタンスにチャンネルIDや招待するユーザーのリストを保持させて、簡単にチャンネルを作成し、チャンネル名のフォーマットを整えつつ管理を楽にするためのライブラリを公開しました。

![instanceSlackBot4.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3692998/afec5ac4-52f6-e9b5-abf5-ed2bece542f4.gif)

https://github.com/Dai-H15/InstanceSlackBot

## 内容
Djangoを用いたアプリケーションを作成する際に、ある条件下でSlackにチャンネルを作成し、ユーザーを招待、最初の投稿をボットが行うという動作が発生しました。

その際、複数のユーザーを招待したり、複数のチャンネルを作成したり

元記事を表示

Flask ブラウザ上に表示

Flaskの環境構築はこちらを参照してください。
https://qiita.com/akhr0711/items/2f3e2c371106ddb5421b
今日はその続きでブラウザ上に表示されるようにしたいと思います!

vscodeを立ち上げ前回作成したmyprojectに
app.pyというファイルを作成します。

https://flask.palletsprojects.com/en/3.0.x/
公式ドキュメント内にある
Quickstartの
A Minimal Application![スクリーンショット 2024-09-03 220248.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3686008/9c47a2b5-cfec-4b2e-13ac-34b7a343993f.png)
ここをapp.pyにコピペします。

## 環境変数の設定

続いてブラウザ上に表示させるための設定を行います。
vscode上部にあるターミナルから新しいターミナルを実行します。
パワーシェルやコマ

元記事を表示

DjangoアプリをGAEへデプロイ

### 記事を作成しようとしたきっかけ
GAEへデプロイしようとしたところ、参考になる記事がなかなか見つからなかったので自分なりにまとめてみました。
初心者なので間違えている点などありましたらご指摘ください。

:::note warn
__作業には費用が発生しますのでご注意ください。
GCPに登録したばかりの人は無料クレジットで対応できます。__
:::

## Google Cloud CLI をインストールする
https://cloud.google.com/sdk/docs/install-sdk?hl=JA

上記のリンクより、gcloudSDKのインストールを行います。

#### gcloud CLI の最新バージョンのインストール
先ほどのリンクから開ける画面を少し下に移動すると、gcloud CLI の最新バージョンのインストールという項目があるかと思います。
こちらでは、今現在使用しているPCの機種を選択します。

![スクリーンショット 2024-09-03 21.47.37.png](https://qiita-image-store.s3.ap-north

元記事を表示

Ubuntu 24.04でPyAutoGuiを使おうとしたとき、Xlibのエラーが出る

## エラーの内容

“`python
import pyautogui
“`
しようとすると、

“`
Xlib.error.DisplayConnectionError: Can’t connect to display “:0”: b’Authorization required, but no authorization protocol specified\n’
“`
XlibライブラリがXサーバへの接続に失敗している

## 解決方法
xhostで許可を与えてやれば良い

“`
xhost +
“`

元記事を表示

Python ネストされた辞書・リストの操作: 再帰的ジェネレータによるデータ構造の平坦化

## はじめに

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/cbcf68a4-b939-fdd9-e275-287a6b60fa03.png)

データ構造の複雑さに悩まされたことはありませんか?深くネストされたJSONやXMLに立ち向かう度に、頭を抱えてしまうプログラマーは少なくありません。しかし、その複雑さを解きほぐす強力な武器が、Pythonには隠されています。それが「再帰的ジェネレータ」です。

この記事では、再帰的ジェネレータを使って、複雑なデータ構造を優雅に操る技を伝授します。メモリ効率を犠牲にすることなく、深い階層構造をフラットに変換し、必要な情報だけを的確に抽出する方法を学びましょう。さらに、この技術がどのようにして大規模データの差分検出や効率的な処理を可能にするのか、実践的な例を交えて解説します。

## ネストされたデータ構造の課題

![image.png](https://qiita-image-store.s3.ap-northeast-1

元記事を表示

機械学習全般のできる画像認識屋になる方法

画像認識屋がキャリアを広げていくうえでおすすめなのが、機械学習全般もできるエンジニアになることだ。

## そのためにおすすめする技術分野
– 主成分分析
– サポートベクターマシン
– クラスタリング

## それぞれを勧める理由
– 主成分分析
 主成分分析は、多数の変数がある分野で、線形の関係性から何らかの規則性を発見するためのものだ。
人は、多次元の空間で物事を考えることが苦手だ。
少ない次元で少ない変数で考えたほうが圧倒的に理解しやすい。
多次元の変数の分布の多くは、少ない数の主成分の累積寄与率で説明がつく。

そうすることで、物事を単純化することができる。
多くのパラメータのままモデルを作ると、学習データに対して過学習したモデルができやすい。
[Scikit-learn の主成分分析](https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html)

– サポートベクターマシン
 2値判定、他値分類などの分類問題に対して、有効な手法だ。
 サポートベクトルマ

元記事を表示

Binary Indexed Treeの区間合計の定数倍改善手法の紹介

## はじめに

はじめましての人ははじめまして。[alumi](https://x.com/alumi_02)と申します。
少し前に書いた「[Binary Indexed Treeの一点参照の定数倍改善手法の紹介](https://qiita.com/alumite14/items/4a1b6143f2049eb8e100)」という記事で、一点取得の高速化に関する考察をしましたが、区間合計でも同様に定数倍高速化ができ、しかも前述の一点取得は区間合計手法の特殊な場合にまとめられることに気づいたので、解説と実装結果を紹介します。

## 結論

– この実装をすると、`prefix_sum`の差による区間合計の実装に比べて定数倍改善できます。
– 一点取得を`range_sum(i, i + 1)`で実装しても、前回紹介した手法と同程度に高速です。
– ほぼ同じ考え方で区間加算・区間合計BITについても区間合計・一点取得を定数倍改善できます。

## 実装と手法の解説

早速実装を見ましょう。
注意点として、一般的な実装と同様に逆元が定義されている必要があります(参考:[BIT の定数倍

元記事を表示

Python(Django)でカバレッジレポートを作成

# はじめに

Pythonのカバレッジ測定ツール「coverage.py」を使用してカバレッジレポートを出してみました。

カバレッジとはテストの際にどのコードが実行されたかを測定し、テストがどの程度のコードをカバーしているかを示します。

### 開発環境

– Windows 11
– VS Code

# 1.カバレッジの計測準備

**1.coverageのインストール**

まず、`coverage`をインストールします。

“`bash
pip install coverag
“`

**2.coverageの設定**

プロジェクトのルートディレクトリに設定ファイル`.coveragerc` を作成

`.coveragerc` ファイルを作成する際の基本的な例

“`
iniコードをコピーする
[run]
branch = True
source =
myapp1
myapp2
omit =
*/tests/*
*/migrations/*
*/admin.py

[report]
show_missing = True

元記事を表示

円の外から角度「開成高校入試問題 AOの2乗はいくつか?」をsympyとFreeCADでやってみたい。

**・申し訳ありません。プログラムのやり放しばかりです。**
・問題文は2次元ですが、3次元FreeCADのマクロで、XY平面上に作図しました。

**パイソニスタの方へ**
・polygonで計算したい。オーバー何とか?です。
https://docs.sympy.org/latest/modules/geometry/polygons.html#sympy.geometry.polygon.Polygon.distance

・45°の半角の公式でできると思い、sympyのfu tr**を調べましたがわかりませんでした。

# オリジナル
・YUUU0123 様 (0:00〜5:50)
>高校で習います。…

# sympyで(オリジナル 様の方法を参考に)
#### ver0.1 0.1 方べきの定理で
・私は、方べきの定理 を理解していません。
???この記事は最終更新日から5年以上が経過しています。
https://qiita.com/mrrclb48z/items/1f84be0b4b52863b63ac
`

元記事を表示

M1/M2 macでPython−MIPを動かすには?(uv版)

この記事は、次の2記事の続編です。M1/M2 macでPython−MIPを動かす方法を説明します。

https://qiita.com/SaitoTsutomu/items/fbc33299e1906a238f53

https://qiita.com/SaitoTsutomu/items/aabb94db3f20cce3dc82

Python−MIPに付属するソルバーCBCは、x86_64用であるため、そのままでは動きません。
また、Python-MIPはCFFIでソルバーを動かすため、Python自身がx86_64上で動く必要があります。

ここでは、uvを使って動かす方法を紹介します。

https://github.com/astral-sh/uv

## 準備

Rosetta2とuvが必要です。
Rosetta2を有効にするには、一度だけ次のようにします。

“`zsh
/usr/sbin/softwareupdate –install-rosetta –agree-to-license
“`

macOSやLinuxでuvをインストールするには、次のようにし

元記事を表示

OTHERカテゴリの最新記事