Python関連のことを調べてみた2023年07月16日

Python関連のことを調べてみた2023年07月16日

Locustをローカル環境で動かす

# この記事は何か
Locustという負荷検証ツールを、ローカル環境で動かしてみました。

# Locustとは
Python製の負荷検証ツールです。
Web UI付きで、手軽に操作することができます。
[ドキュメント](https://docs.locust.io/en/stable/)

# ローカル環境で動かしてみた
## 動作環境を用意
Docker環境を用意しました。

https://github.com/tatsukoni-pra/Locust-local

コードは↑を参照ください。ポイントは以下。

– WebUI用に、`8089`ポートを開けておく
– Python環境にて、`pip install locust`でLocustをインストールする(`build-essential`がないとインストールに失敗したので、入れておく)

“`shell-session
# python –version
Python 3.9.17

# locust –version
locust 2.15.1 from /usr/local/lib/python3.9/site-

元記事を表示

現在の製造業でのデータサイエンティストとしての業務内容

# はじめに
こんにちは、私は製造業でデータサイエンティストとして働いているYuTut(ゆうたっと)と申します!今回は、私の現在の職務内容について説明したいと思います。具体的な会社名や製品名は伏せますが、データサイエンスの現場でどのような業務が行われているのか、具体的なイメージを持っていただければと思います。

# データ収集
実際に実証実験の現場に出向き、データを収集します。具体的には、特定の製品を使用してもらい、その結果をデータとして収集します。このデータ収集は、製品開発、製品のパフォーマンスを評価・改善するための重要な情報源となります。

# データの前処理と抽出
収集したデータは、DB(データベース)に保存されます。その後、PythonとSQLを使用して、このDBからデータを抽出します。抽出したデータは、前処理とクリーニングを行い、分析しやすい形に整形します。

# 探索的データ分析と特徴量エンジニアリング
データが整形されたら、次に探索的データ分析を行います。これには、データの分布、相関、異常値の検出などを調査し、データ可視化ツールを使用して、データの特性を視覚的に理

元記事を表示

Qiitaに自動投稿と画像アップロード

# 概要

Python requestsを使って,この記事とその画像をqiitaに自動投稿する.

ソースコード(参考用): .

# 自動投稿モデル

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0%2F3511996%2Fe5549aeb-73b4-d091-a40a-58a48323928e.png)

緑色ノード = クライエント保存情報.

A. regexなどを利用してローカルファイルリンクを検出.

B. 保存したS3 URLと更新時間(timestamp)より新しい,またはS3に存在しなかった画像を集める.

C. (下記参照)

D. ローカルファイルリンクをS3 URLに置き換える.

E. (下記参照)

# C. 画像アップロード

注意:公式APIに入られなかったので,破壊的な変更が行われる可能性がある.

参考:

元記事を表示

【リアルタイムで物体検出】yolov8をanaconda環境でサクッと動かす

## はじめに
yolov8を使ってリアルタイムの物体検知を行います。

**”yolo”** とは、コンピュータビジョン(コンピュータが画像情報から必要な情報を取り出す技術)におけるアルゴリズムの名前です。
また、**「You Only Look Once(一度しか見ない)」** の頭文字を取ったものになります。

今回はそのyoloの中でも2023年1月に発表されたv8を使用します。

## 動作環境
Windows11(64bit)
anaconda
python3.9

anacondaの環境がない方はこちらの記事をご確認ください。

https://arika-blog.com/python-anaconda/

## 仮想環境の作成
~~~py
conda create -n py39_yolov8 python=3.9
~~~

## 仮想環境にログイン
~~~py
conda activate py39_yolov8
~~~

## yolov8をclone
~~~py
git clone https://github.com/ultralytics/ultralyt

元記事を表示

【Python】リスト内包表記について

Pythonのリスト内包表記を使うとシンプルな記法でリスト生成を行うことが可能です。
この記事では、内包表記の基礎と応用について説明していきます。
もっと詳しく知りたい方は以下の公式ドキュメントをご参照ください。

https://docs.python.org/ja/3/tutorial/datastructures.html#list-comprehensions

# 例

“`python:リスト内包表記の基本形
a = [x for x in hoge] # hogeはイテラブル
“`
これが **リスト内包表記** (List Comprehensions) です。リストリテラル `[]` の内部に、要素ではなく forループが記述されているような文法をとります。
なお、上で示したリスト内包表記 と for文を用いて書いた次のコード は等価です。

“`python:for文で書くと
a = []
for x in hoge:
a.append(x)
“`

# 利点

リスト内包表記の利点はなんと言ってもその **シンプルさ** です。空のリストを作成

元記事を表示

ChatGPTでダミーデータ作成、どこまでできるか!?

# はじめに
昨今話題のChatGPTですが単純な応答だけでなく、現在進行形でコード生成やデータの可視化といったさまざまな分野で活用されています。
その中でも特にデータの可視化周りで何かできないかと色々試していたのですが、可視化するためのデータを用意するのが面倒くさいな〜なんて思っていました。

そんなこんなで今回挑戦するのは「ChatGPTでダミーデータ生成、どこまでできるか?」です。難易度[^1]が異なるいくつかの課題に答えてもらいながらChatGPTさんの限界を知りたい、そんな内容になっています。でも彼女になったり大喜利に答えたりしてきたChatGPTさんならば、多少の課題は余裕でしょう!

というわけでここからさまざまなダミーデータ作成課題をChatGPTさん[^2]に次々にこなしてもらいます。
前提としてプログラミングなしでダミーデータが欲しいような場面を想定したチャレンジなので、データはコードブロックに直接出力してもらう形で指示文を作成しています[^3]。

**結果まとめを見たい方は[こちら](#データ生成結果まとめ)**
[^1]:難易度は筆者の勝手な想像です。実際のロ

元記事を表示

CAFA 5 Protein Function Prediction DeepGOの読経(2023/07/15)

# はじめに

[6/30](https://qiita.com/taichan003/items/e2ab1d4c70ff715faf05), [7/2](https://qiita.com/taichan003/items/ed365c6b2470d25a4a3f), [7/3](https://qiita.com/taichan003/items/39ff269e80752f9f0097), [7/10](https://qiita.com/taichan003/items/47fc81fd2bf6550f9037) のメモの続きです。
以下の kaggle コンペについての覚書です。

https://www.kaggle.com/competitions/cafa-5-protein-function-prediction

今更だけど、目次が機能していないことに気づいたので作るのやめました。
リンクもつけるの大変だし、記事を書いている人たちってすごかったんだなあ。

# DeepGOZero: Improving protein fu

元記事を表示

ABC-310 A「Order Something Else」解説

# 挨拶
皆さん、こんにちは!
今回はABC-310のA問題「Order Something Else」について解説していきたいと思います!
(https://atcoder.jp/contests/abc310/tasks/abc310_a)

# 目次
– 問題概要
– 制約
– 入力形式
– 解説

# 問題概要
お店でドリンクを飲みます。
ドリンクの定価は$P$円ですが、割引券を持っているので$N$品の中から好きな商品とセットで注文すると$Q$円でドリンクを飲むことができます。
ドリンクを飲むために支払う金額の **最小値** は?

# 制約
$1 \leq N \leq 100$
$1 \leq P < Q \leq 10^5$ $1 \leq D_i \leq 10^5$ # 入力形式 ```text:input.txt N P Q D_1 D_2 …… D_N ``` # 解説 問題文を読み解いてみると、出力すべき答えは **「$P$」「$Q+(Dの最小値)$」のうち小さいほう** であることがわかります。 Dの最小値を求めるにはPythonの関数であるmi

元記事を表示

Matplotlib

## Matplotlibのインストール
“`python
import matplotlib.pyplot as plt
“`

##

元記事を表示

個人用pandas

# pandas

補足

qiita用テーブルコードを作るコード
“`python
def make_table(lines):
str = []
table = “| |”
for i in range(len(lines)):
if i == 0:
str.append(lines[i].split())

for j in range(len(str[i])):
table += ” ” + str[i][j] + ” |”

table += “\n” + “|”

for j in range(len(str[0]) + 1):
table += “:-:|”
else:
str.append(lines[i].split())
t

元記事を表示

ショッピングセンター勤務者が600日学んで作成したもの

## はじめてのプログラミング|ポケモンLINE Bot

https://qiita.com/watanabe-tsubasa/items/becf2ae43a1ffdf02ab6

**2021/10/2に私はプログラミングの勉強を始めました。**
初めて作ったプロダクトが、上の記事にあるポケモンのAPIを叩いて情報を取得して返してもらうLINE Botです。

申し遅れましたが、私はタイトルの通りエンジニアではなくショッピングセンターを運営する企業に勤務する従業員の1人です。
世間と会社からの強い要請で、DXが推進できれば良いと思いプログラミングを勉強してみることにしました。
元々プログラミング自体に興味があり、せっかくの機会だからやってみようと思ったのです。

作成したプロダクトは`JavaScript`のサンプルを**コピペしてつぎはぎで作っただけのLINE Bot**。
当時の私にはこれが精一杯でした。

## 600日たった今、同じテーマをノーコードで実装

下記、リンク先のWebアプリケーションを作成しました

https://symplepokedex.netlify

元記事を表示

LeetCode: Two Sum

LeetCodeで取り組んだ問題の備忘録です。

# 問題
変数nums(リスト型、int)及び変数target(int)を入力し、2つの数の合計がtargetとなるnumsのインデックスを返す。

>(例)
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
理由:nums[0] + nums[1] == 9 であるので、Outputは[0,1]となる。

https://leetcode.com/problems/two-sum/

# 解法
Runtimeで66%、Memoryで36%の回答を上回った計算量$O^2$の解法を紹介する。
この問題は、targetとnumsリスト要素の差を前から順に求め、差をnumsリスト中から見つけること、そしてそのインデックスを求めることが出来れば解けそうだ。新しくdict型の変数を作りnumsの全要素を入れてしまいたくなるが、ここではそれをせず、下記のステップのイメージで解く。

0. dict型変数hashmapを定め、ハッシュマップを作る 
1. targetとnumsリストの値の差を前

元記事を表示

ABC310をPythonで解いてみたよ。(A~E問題)

[AtCoder Beginners Contest 310 (ABC310)](https://atcoder.jp/contests/abc310) をPythonで解きました。
見やすいコードを書く練習も兼ねてます。

TwitterとPayPayリンクをまとめたリトリンを下に貼ってあります。
Twitterのフォローお待ちしてます!(DMでなにか一言いただけるとたすかります…!)
この記事が役に立ったなと思ったら、PayPayのご支援もよろしくお願いします┏○ペコッ

https://lit.link/mer6177999

# A – Order Something Else

## 問題ページ
https://atcoder.jp/contests/abc310/tasks/abc310_a

## 考察
支払う方法は次の2つです。
– $P$ 円だけ払う
– $Q$ 円払って、さらにリスト $D$ の中で最も安いものを買う

これをそのまま実装します。
min(D) ← これでリスト内の最小値を持ってきてくれて便利です!

## コード
“`Python
N, P

元記事を表示

SwitchBot API v1.1を使って、スマートプラグ プラグミニの状態をZabbixでモニタリングできるようにした

# 背景、事の始まり
私はSwitchBotのスマートプラグミニを3カ月ほど使用してきましたが、せっかくなら電圧や消費電力といった情報を取得したいと考えました。そこで調べてみたところ、SwitchBotには開発者用APIがあり、私でも利用することが可能であることを知りました。実は私はAPIを使用したことがなかったのですが、この機会に挑戦してみることにしました。

また、Grafanaを使ってモニタリングしている方がいるというのもTwitterで知り、私もそれにならって試してみようと考えましたが、自宅には既にZabbixが導入されているため、折角ならZabbixを利用して管理することにしました。

## 調べ始め
### SwitchBotAPI v1.0でのモニタリング
どうやら同じことを考えた人は居たようです。
こちらの方は温湿度計をZabbixでモニタリングしているようですが、v1.0で利用しているみたいです。

https://satoweb.net/2021/09/switchbotonzabbix/

### SwitchBotAPI v1.1について
2022年9月にAPI

元記事を表示

自作サンプルコードの自筆記事を作成する時、ChatGPTを記事作成支援機能として利用する

# はじめに

サンプルコードを自作して、自筆の記事を書こうとする時に、ChatGPTを記事作成の支援機能として利用してみる試みを記載します。

ChatGPTに、サンプルコードの説明を付ける作業を支援して貰い、記事作成の支援としてChatGPTを使う方法を模索します。

# サンプルコード

ここで用いるサンプルコードは、以前、Qiitaの記事として投稿した、Pythonでコンソール出力をテキストファイルに保存する、下記の記事内のサンプルコードを用いて、このサンプルコードの記事を改めて作成してみます。

記事: *他の.exeを起動して、コンソール出力をテキストファイルに保存する試行* (2020年12月30日に作成)

https://qiita.com/dl_from_scratch/items/5678db5008171c8d9c89

# ChatGPT質問の外観

下図のように、ChatGPTに聞いてみます。次章以降に結果を記載します。

質問時のChatGPTの外観:
![image.png](https://qiita-image-store.s3.ap-northe

元記事を表示

[Docker / Python / M1 Mac]Docker を利用して Jupyter を構築

## Docker を利用して Jupyter を構築した理由
– 使用している PC の環境を汚したくないため
– 他の人への共有を簡単にするため(若手メンバーに教材として払い出す際の手間を減らしたい)
– Docker の実用的な使い方を確認したい

## GitHub リポジトリ
https://github.com/tanakadaichi1989/docker-ml

## 前提条件
– Docker Desktop を既にインストールしていること
– Docker Desktop の状態が `Engine Running` になっていること

Docker Desktop

## 開発環境
|項目|内容|備考|
|—|—|—|
|PC|MacBook Air M1|Python をインストールしていない|
|Webブラウザ|Google Chrome||

## 題材
過去に Qiita で投稿した下記の内容を Docker にまとめることにした

https://qiita.com/tanaka

元記事を表示

第1回 YouTube Data APIを用いて指定したYoutubeチャンネルの新着動画一覧を取得する

# 1. はじめに
この記事では、[「OpenAI APIを用いたYouTube動画の要約とNotionへの保存」](https://qiita.com/Shuto050505/items/64a228c315e24d4f6d3b)というテーマに基づいた連載の第一回目として、YouTube Data APIを使用して毎日決まった時間に指定したYouTubeチャンネルから新着動画一覧を取得する方法について説明します。

https://qiita.com/Shuto050505/items/64a228c315e24d4f6d3b

# 2. YouTube Data APIの設定
まずは、YouTube Data APIを使用するための設定を行います。YouTube Data APIは、YouTubeのデータをプログラムから操作するための公式APIです。動画の検索や情報の取得など、さまざまな操作が可能です。

## 2.1. YouTube Data APIキーの取得
YouTube Data APIを使用するには、まずGoogle Cloud PlatformからAPIキーを取得する

元記事を表示

Python プロキシ環境でのpip

会社などのプロキシ認証のあるネットワーク環境でpipする方法

下記を参照しました。
https://note.com/nil39/n/nc174dde688d0

元記事を表示

CSVファイルを開いてグラフ表示するGUIアプリを作ってみた!

PythonとTKinterを使い、CSVファイルをグラフ表示するGUIアプリを作ってみました。ファイルはダイアログで選択できるように作っています。

## アプリの機能

INPUTボタンを押すことで、CSVファイルを選択できます。

選択したCSVファイルをグラフで表示します。

画面下のボタンを押すことで、表示されたグラフの画像を保存できます。

## 用意するもの

サンプルとなるCSVファイルを作成し、ホームディレクトリに保存します。

“`csv:sample.csv
名前,身長,体重
山田,170.2,56
吉川,158.7,89
佐藤,168.9,46
“`

pandasをインストールしておきます。

“`
pip install pandas
“`

## アプリのコード

以下のコードを実行することで、INPUTボタンが表示され、CSVファイルを選択できるようになります。グラフは画像として、アプリとは別に表示されます。画像の画面を閉じることで、何度でもCSVファイルを選択し、グラフを表示できます。

※フォントはLinux Ubuntuで使われる「

元記事を表示

プロンプトエンジニアになりたい人向け入門書まとめてみた

# はじめに
みなさん、**プロンプトエンジニア**という職業をご存知ですか??
ChatGPTを台頭に生成AIが流行してから出来たエンジニアの一種です。

有名な求人サイトでも、『プロンプトエンジニア』と検索すると検索が引っかかるぐらい**今の時代に求められている職業です。**

ネットでは年収4000万越えのプロンプトエンジニアがいると話題になりました。

今回の記事では、『**プロンプトエンジニアになりたい人向け入門書**』をまとめました!

– プロンプトエンジニアになりたい
– プロンプトの精度を上げて、生成AIを有効活用したい

こんな方には特におすすめしたい記事ですので、是非最後までご覧ください??

# KindleUnlimited
**今回紹介する技術書は全て無料で読むことが出来ます**

KindleUnlimitedを使うことで、**これから紹介する本以外にも沢山の技術書を無料で何冊でも読むことが可能です**?

– 200万冊以上の書籍が何冊でも読み放題
– 月額980円が今なら1ヶ月無料
– 場所に囚われず、様々な端末で使用可能

勿論、技術書以外にもビジネ

元記事を表示

OTHERカテゴリの最新記事