Python関連のことを調べてみた2022年12月31日

Python関連のことを調べてみた2022年12月31日

シフト作成メモ

“`ruby:qiita.rb

import pandas as pd
import numpy as np
from random import random
import time, os
import openpyxl as opx
pd.options.display.precision = 0

def read_excel():

df = pd.read_excel(r”C:\Users\keisu\OneDrive\デスクトップ\月次シフト.xlsx”, index_col = 0, header=[1,])
df = df.fillna(“0”)
df = df.replace(“0”, 0).replace(“◎”, 3)

kiso = df.iloc[2:, 0:31].reset_index(drop = True)
holiday = df.iloc[2:,31:32].reset_index(drop = True)
holiday.columns = [“休日数”]
kouritu = df.iloc[2:,32:33].rese

元記事を表示

python-shell備忘録

# 初めに
NodejsからPythonを実行えきるライブラリ,python-shellを使い,詰まった点とその解消法を紹介します.
## インストール
“`
npm install –save-dev python-shell
“`
## 基本・仕様
基本的な使い方はこちらを参考に.
公式ドキュメントは[こちら](https://www.npmjs.com/package/python-shell).
[Python-shellの使い方 – Qiita](https://qiita.com/NT1123/items/09aed7b23388190cba23)
[Pythonのprint出力をNode.jsが認識できない問題について – Qiita](https://qiita.com/7315_t/items/aa435464b5b42df90822)

“`javascript:main.js
// PythonShellの宣言
let options ={
“mode”:”text”,
pythonOptions:[‘-u’],
// args:[

元記事を表示

【Python】イテレータが何となく分かる様になる

# イテレータ

イテレータとは?

* データの流れを表現するオブジェクト
* 要素を1つずつ取り出せるオブジェクト
* `__iter__()`メソッドから取り出されたオブジェクトが**イテレータオブジェクト**
* データがなくなると、StopIteration 例外を送出する

https://docs.python.org/ja/3.10/glossary.html#term-iterator

## イテレータオブジェクトを作ってみる

“`python
fruits = [“apple”, “orange”, “grape”]

iterator = iter(fruits)
print(iterator) # “`

“`python
for i in iterator:
print(i)

# apple
# orange
# grape
“`

リストと同じようにfor文でループすることが可能です

ではリストとの違いは?

## 次の要素を調べる

組み込

元記事を表示

GA4のテーブルをBigQueryからPostgreSQLにAvroファイル経由でコピーする

[前回の記事](https://qiita.com/kanedaq/items/9ad3907219d0a0b119cf)のGA4特化版です。
以下の手順で、GA4のテーブルをGoogle BigQueryからPostgreSQLにコピーします。

– BigQueryからAvro形式でローカルにexportする
– PostgreSQLへのimport用SQL文を生成する
– そのSQL文を動かしてPostgreSQLにimportする

上記手順に対応して、Pythonコードが3種類あります。
必要に応じてPythonコードや、生成されたSQL文をカスタマイズしてご利用ください。

本記事では、[Google アナリティクス 4 e コマースウェブ実装向けの BigQuery サンプル データセット](https://developers.google.com/analytics/bigquery/web-ecommerce-demo-dataset)のテーブルをPostgreSQLにコピーします。

# (1) GA4のテーブルをBigQueryからAvro形式でローカルにexp

元記事を表示

【python】【ポケモンSV】レイドバトル画像から情報を抽出する

# 0 はじめに
poke-controllerを使ったレイド自動化プログラムを作成中なので、レイド画面から情報を抽出する部分を備忘録として記しておきます。初心者ですので間違っている部分があるかと思います。気になる点があれば教えてください。

:::note info
poke-controller自体にも画像認識機能は備わっていますが、そちらを使用したプログラムの紹介ではありません。内容は主にpythonで画像を編集するものになっています。
:::

# 1 やりたいこと
先日発売されたポケモンSVにはレイドバトルというものがあり、このレイドバトルに勝利すると様々な報酬がもらえます。レイドバトルには主に以下の3つの情報があり、それに応じて戦法を変えることで、自動化・通常プレイに関わらず勝率を高めることができます。レイド情報がある画面はこんな感じになっており、主に①難易度・②テラスタイプ・③敵ポケモンの3つの情報が記載されています。
![テラレイドバトル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2

元記事を表示

Yoloのアノテーションの記載形式

YOLOでの画像分類を課題で行っている。
調べると、自分で学習データを作る為に特定のツールを使って切り抜きする方法は多く出てくるが、今回は課題ということですでに学習データはある状態。
但しYOLO形式ではないので、変換する方法を自分用にメモしておく

# そもそもアノテーションとは
>アノテーションとは、画像に対して物体がある位置とクラスの注釈をつけること
https://www.alpha.co.jp/blog/202108_02

# アノテーションの記載形式の概要
>Fig. 2. に、YOLOで使用するデータセットにおける、アノテーションの記載形式を示す。1行につき1つの物体を示しており、この例では3つの物体について記載されている。各行はスペース区切りで左から、物体のカテゴリID、物体中心の座標xおよびy、物体の高さhおよび幅wである。Fig. 3. はこのアノテーションに対応した画像ファイルであり、さらにFig. 2. の1行目に記載されたPottedplantの情報との対応関係を追記した。座標 (x, y) は画像の左上の位置を (0.0, 0.0) 、画像の右下の位置を

元記事を表示

えっ、Rubyってオワコン言語なの、初心者は何を勉強すればいいの?

## 2022年Qiitaのアドベントカレンダーに見るオワコン言語、人気の言語

世の中にはたくさんのコンピュータ言語があります。一世を風靡し、そしていつしか忘れられていく言語もたくさんあります。皆さんは、いま流行りの言語は何で、これから伸びる言語は何だろう、オワコン言語は何だろうと思ったことはないでしょうか?また、YouTubeでインフルエンサーが「Rubyはオワコンだから」と言ったりしますが、「それってあなたの感想ですよね」、「なんかそういうデータあるんですか」と思ったりしていました。
そんな中 @Dosaidon は、Qiitaにアドベントカレンダーと言うコンピュータ言語別に記事を投稿するイベントがあるのを知りました。12月1日から12月25日までの25日間のカレンダーに投稿していくものです。(あれれっ、アドベントカレンダーって24日終わりじゃないの…)それはさておき@Dosaidonも[2022年アドベントカレンダー、Rubyカレンダー2、3](https://qiita.com/advent-calendar/2022/ruby)に参加しました(PR:Ruby初心者の方読んで

元記事を表示

【特徴量の生成/Python】ラグ特徴量の生成・使い方

# 今回の課題
Kaggleで時系列データ分析についてインプットをしていたところ、
**ラグ特徴量**という特徴量が出てきた。

使い所について、イマイチ理解ができなかったため、勉強することにした。

## ラグ特徴量とは
今の時間の特徴だけに注目せずに、過去や未来の特徴を用いて、
現在のデータの特徴量を増やす方法。
ラグ特徴量を用いることで、機械学習モデルの予測精度を向上できる可能性がある。
(ラグ特徴量を追加するので、重回帰分析になる。)

**過去のデータを特徴量として使い、機械学習モデルの予測精度を向上させたいときに使うことができる。**

※参考:[【機械学習】時系列データの前処理 -ラグ特徴量作成-](https://cpp-learning.com/preprocess-time-series/)

## コード
#### 1)関数を用意しておく
“`python
#指定したカラム、指定した単位でgroupbyして集計してデータフレームで返す関数
def grouped(df, key, freq, col):
# Grouperは、時系列をGroupbyするた

元記事を表示

MACアドレスで打刻システムを作ってみた!

# 目次
* なぜこのシステムを作ったのか
* 使用するツール・環境
* MACアドレスについて
* ソースコード
* Raspberry pi のプログラム自動実行設定
* 使用してみた結果
* 最後に

# 1. なぜこのシステムを作ったのか
出社時の打刻ってめんどくさくないですか?が発端でした。
打刻忘れなどによる、訂正など、とても時間がかかりり、非生産的です。

:::note info
**それらの問題を解決するべく、Wifiによる打刻システムを簡易的に作成しました。**
:::

毎時5分起きに、プログラムが作動し、社員さんが持つスマホやPCがWifiに繋がったデバイスを検知し、出勤記録をエクセルに記入します。あらかじめ、社員さんのMACアドレスは控えておくことが必要条件です。

# 2. 使用するツール・環境
今回はRaspberry pi を使って実装しました。
理由として、小型コンピュータで、常に動作させられ、プログラムの自動実行等、汎用性が高いからです。
言語はpythonで、仮想環境を用いて行いました。

# 3. MACアドレスにつ

元記事を表示

【AtCoder】ABC254 のA,B,C,D,E における Python解説

ABC 254 のA,B,C,D,E問題を解くために考えたこと、ACできるPython3(PyPy3)コードを紹介します。

この記事は @u2dayo さんの記事を参考にしています。見たことのない方はそちらもご覧ください。とても勉強になります。

また、問題の難易度を表す指標を [Atcoder Problems](https://kenkoooo.com/atcoder/#/table/tsuru1471) から引用しています。このサイトは勉強した問題を管理するのにとてもオススメです。

質問やご指摘はこちらまで
Twitter : [Waaa1471](https://twitter.com/Waaaa1471)

作者プロフィール
Atcoder :[緑色 882](https://atcoder.jp/users/tsuru1471)
20221231 現在

# 目次
[はじめに](#はじめに)
[A.Last Two Digits](#alast-two-digits)
[B.Practical Computing](#bpractical-computing)
[C

元記事を表示

[python][pandas] Series, DataFrameの統計量を得る

Series, DataFrameの統計量の求め方をまとめてみた。

# 公式のdocumentation
– [User Guide — pandas 1.4.4 documentation](https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html)

# 目次
– 動作環境
– 今回扱うDataFrameについて
– 平均
– 分散
– 標準偏差
– 最大値、最小値
– 要約統計量の表示
– DataFrameでの処理

# 動作環境
|種類 |バージョン |
|:—————|:————–|
|MacBook Air |Ventura13.0.1 |
|python |3.9.6 |
|jupyter notebook|6.5.2 |
|pandas |1.5.2 |

まずはパッケージのインポートから
“`python:
imp

元記事を表示

OSごとにCPU版、GPU版のPyTorchをそれぞれインストールするようにPoetryで管理する

# 目的
M1 Mac(GPU未対応)でPyTorchのコードを書き、Linuxの計算機サーバのGPU(CUDA)上で動かしたい。
[PyTorch公式](https://pytorch.org/)で使われているpipではなく、PoetryでPyTorchを管理したい。
ただし、“`poetry lock“`でwhlファイルのダウンロードが発生しないようにしたい。

# 結論
– torchを次のように指定
– MacのCPU上、およびLinuxのCUDA11.6上でtorch1.13以上を動かしたいときの例
“`toml:pyproject.toml
(前略)
[tool.poetry.dependencies]
(中略)
torch = [
{ version = “>=1.13+cpu”, markers = “sys_platform == ‘darwin'” },
{ version = “>=1.13+cu116”, markers = “sys_platform == ‘linux'” },
]
(後略)
“`
– 開発機(Mac)のターミ

元記事を表示

Box Webhookでファイル操作をイベント通知してみた

### はじめに

Box上のファイルが更新されたら、即座に検知し特定アクションを行いたい場合があります。
Webhookの仕組みを用いて、Boxにイベントトリガーを設定し、イベント通知してみました。

### 構成図

https://ja.developer.box.com/guides/webhooks/v2/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523098/272c64d5-556b-5485-fce7-f655ebbb7f5e.png)

### Webhook(ウェブフック)とは

– Webアプリケーションで特定のイベントが発生したら別のWebアプリケーションに通知を発行する仕組み
– Web開発でカスタムコールバックを用いてWebアプリケーションの動作を追加または変更するための方法
– リクエストは、HTTP POSTリクエストとして行われる
– フォーマットには通常JSONが利用される

### Box Webhook V2とは

https://ja

元記事を表示

[memo]やまぐち AI Quest 2022

やまぐち AI Quest 2022のyolov5を使ってのモデル作成のメモ
https://signate.jp/competitions/909

yolov5で学習できるようにトレーニングデータを処理する。
・mp4をyolov5に読み込ませるため画像として保存
・jsonファイルを画像に対応したtxtファイルに分割

yolov5の使い方は↓
https://farml1.com/yolov5/#toc2

yolov5で学習したモデルはコンペの説明通りの場所に保存し、
predictor.pyの例を使用すれば投稿できる。
.predictor.pyの例

mp4をyolov5に読み込ませるため画像として保存
“`python:qiita.py
import cv2
import sys
import sys
from glob import glob
import os

#mp4データの格納場所
PATH=”C:/code/signate/drive/input/train/”
# 指定パスのmp4ファイルのリストを取得
dir_list = os.listdir(PAT

元記事を表示

Raspberry Pi 4 を使ったROS入門 第4回 Gazeboを使ったシミュレーション

# はじめに
この記事は研究室の学生の教育用に作成してゆきます.
現在はROS2がメジャーとなってきておりますが,まずは自習が出来るよう文献が豊富なROS1でROSの扱いに慣れてみます.
ROSは既に多くの文献があり,それだけでも自習可能ですが解説されているバージョンや環境が違い,初心者には躓きやすい内容だと思ったため,改めてまとめてみます.

前回はこちら
[Raspberry Pi 4 を使ったROS入門 第3回 Hello world](https://qiita.com/H-Ando-robo/items/b069818816a76f80b86c)
次回はこちら
[公開までお待ちください]()

# 動作環境
Raspberry Piを使用します.(用意できるならUbuntu入りのPCが◎)
ROSはUbuntu上で動くソフトなのですが,設定の違いによってトラブルが起きやすいので,クリーンインストールしてから始めることをお勧めします.
ROSのバージョンはUbuntuのバージョンとリンクしてます.

本記事で使用する機器とバージョン
| 使用機器 | Ubuntuバージョン |

元記事を表示

Pythonで書くAWS CDK ~既存VPCを使ったVPCエンドポイント作成~

# 概要

AWS CDK はAWS上にクラウドサービスを構築するための便利なソフトウェアです。

個人で検証している際は特に、以下の点で便利だと感じています。

* 課金抑止
* 検証したいときに作り、検証が終わったときに削除できる
* 削除コマンドを実行すれば、消し忘れることがない
* 作業効率化
* 同じ環境をすぐに再現できる

この記事ではPythonを使って、AWS CDKによるクラウドサービス構築を行う方法を記載していきます。

# 前提条件

この記事では以下の環境を使用しています。

OS:Windows10
言語:Python3.7

# CDKを始めるための準備

## node.jsをWindows10へインストールする

### NVM for Windows のダウンロードとインストール

CDKはnode.jsを使用するため、CDKを動作させる環境へnode.jsをインストールする。
ここでは、node.jsを直接インストールするのではなく、node.jsをバージョン管理してくれるnvmをインストールし、そこからnode.jsをイン

元記事を表示

【AtCoderを分析】Webデータを分析して公開するための基本を網羅してみた

AtCoderのWebデータの分析〜公開を、短期間に3種類ほど行いましたので、関連のノウハウをまとめてみました。3種のアウトプットでそれぞれ異なる技術要素を使っていますので、網羅性の高い記事になっているのではと思われます。

> 本記事にしたがって実際に試してみた結果、発生した不具合や、AtCoder社他の利用規約その他法令に違反する行為があった際など、あらゆる場合に対して、筆者は何も保証しません。

以下が、実際に分析した結果です。

元記事を表示

PythonからIrvineを使ってファイルをダウンロードする

# 目的

Pythonから、ダウンローダーである[Irvine](https://forest.watch.impress.co.jp/library/software/irvine/)を使ってファイルをダウンロードする。

# 背景

Pythonのrequetsで、ファイルダウンロードしていたら、いろんな種類のエラーにからまれた。
ダウンロードは、ダウンローダーにお願いしたい。

# 環境

– Windows11 バージョン22H2(OSビルド22621.963)
– Python3.9.1
– Irvine 1.3.0.126 & DMScript 0.3.12

# Irvineのセットアップ

– [窓の杜 Irvine](https://forest.watch.impress.co.jp/library/software/irvine/)をダウンロードしてきて、インストールする(irvine.exeのパスは「c:\Program1\irvine1_3_0\irvine.exe」とする)
– [Irvineの設定](https://w.atwiki.jp/irvin

元記事を表示

python UnicodeDecodeError: ‘ascii’ codec can’t decode byte xxxx in position 123: ordinal not in range(128)

“`python
import sys, codecs
sys.stdout = codecs.getwriter(“utf-8”)(sys.stdout)
“`

元記事を表示

[Python]サーバーレスアプリ開発入門でハマったModuleNotFoundError

# pipenv環境でのModuleNotFoundError

[動かして学ぶ! Pythonサーバレスアプリ開発入門](https://www.shoeisha.co.jp/book/detail/9784798169729)を試して、何度もModuleNotFoundErrorが出てきてハマった。 

pipenv install ‘モジュール名’
“`sh
pipenv install ‘モジュール名’
“`
で何度もモジュールをインストールするが、ModuleNotFoundErrorが出て一向に実行できない。

“`sh
pip info
“`
を実行すると確かにモジュールがインストールされていないことがわかる。

仕方ないので、

“`sh
python -m pip install ‘モジュール名’
“`
でインストールすることで解決しました。

元記事を表示

OTHERカテゴリの最新記事