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

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

【Python】まだ見ぬアクティビティーを求めてアソビュー !スクレイピング

# 1. 概要
突然ですが私は体験型のアクティビティーが大好きです。サーフィン体験をしたり、屋久杉を見に行ったり、スノードームを作ったり、香水を調製してみたり、、、。
そんな私が食べログの情報から機械学習でラーメンレコメンドをする記事をみて、これのアクティビティー版をやったら面白いのでは!!と考えました笑

アクティビティーを探すとき、人は3ステップの思考フローを辿るのではないかと思います。

1. 「ストレスが溜まっているからスカッとしたい」など休みへの想いを考える
1. 「スカッとするためにはバンジージャンプだな」等、過ごし方を考える
1. アクティビティーを探して予約する

この思考フローの中で、1→2への移行にはその人各々のクリエイティブさ(?)が求められていると感じます。もちろん「バンジーしてみたい」などのやることありきで予定を立てることも少

元記事を表示

【Python/AWS】第2回 LambdaとS3を利用してデータ取得を自動化する【データ分析】

# 1. はじめに
本記事は【Python/AWS】の第2回として前回に引き続き、
AWSのサービスを利用した一連のデータ分析の続きとなります。

**▼前回の記事はこちら▼**

https://qiita.com/kawanago_py/items/68999167adb87001764c

私自身、AWSのサービスを触るのは初めてなので、
細かい説明など不足する点はあるかと思いますが、
大まかな流れをこちらで解説していきたいと思います。

本分析の全体像は以下のようになります。
![AWSアーキテクチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2512226/39775192-0392-5e06-519f-12789cd42508.png)
全体の分析目的は以前の分析から継続/発展して、
**「Splatoon3」におけるコンテンツのユーザー満足度調査** です。

収集したデータから項目ご

元記事を表示

ezdxfを使ってみよう#6~DXF読込基本編~

CADの拡張子の一つDXFを扱う**ezdxfによるDXFの読み込み**についてまとめます。
ここでは図形情報をエクセルに収集する方法をまとめます。
本章も冗長に行きます。

[前章はこちら:#5~実践!自動作図編~](https://qiita.com/Rai-see/items/51dcea8f496b58c41989)

1. **前提確認**
1. **ライブラリのインポート**
1. **DXFの読み込み**
1. **図形のデータ取得**
1. **Pandasでデータフレーム化**
1. **Excelに保存・内容の確認**
1. **まとめ**

## 前提確認

今回DXFはこちらのフリーの図枠を使用します。
採用理由は直線・円弧・文字列があるためです。
**DXFからこれらの図形の属性情報(長さ・レイヤー・色など)をタイプ別で取得し、エクセルに整理する**ことを本章の目標とします。
![frame.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/705528

元記事を表示

【Python】pip install できる独自のプライベートリポジトリをお手軽に立てる

Pythonのパッケージ管理に使うpipコマンドはデフォルトでは https://pypi.org/ からパッケージをダウンロードします。しかしpipではこれ以外のリポジトリを追加することができ、この機能を使うことで自分しか使わないパッケージを独自のリポジトリに配置してそこからpipでインストールできるようにすることが可能です。本稿ではその方法を解説します。

独自のリポジトリを作る方法はいろいろあるようですが、単にパッケージ名(とバージョン)を指定して `pip install` できるようにするだけならとても簡単にできます。**必要なものは Nginx 等の静的ウェブサーバだけ** です。

# 1. 配布パッケージを作成する
Pythonのモジュール群を`.tar.gz`で圧縮された配布パッケージにします。この辺りはググれば出てくるので経験がなければ他の記事も参考にしながら行ってください。ここではモジュールのディレクトリ構造や `__init__.py` の話等、触れてないことも多いので。`python setup.py sdist` で行うのが現時点でも主流なのでそのキーワード

元記事を表示

GBDTモデルによる機械学習で、暗号資産トレーディング収益を上げる入門スクリプト

# はじめに

みなさん、こんにちは。ホタテわらびです。

この記事では、GBDTモデルによる機械学習で、暗号資産のシステムトレーディングを行うBOTを実装し、安定した収益を上げるための最初の雛形スクリプトを公開してみようと思います。

エンジニアにとっては、簡単に動かすことができて、なんかそれっぽいものが動いた!となると、興味を湧いて取り組みやすいと思うので、1枚の .py ファイルにギュン!と詰め込んでみました。
必要なライブラリを pip install して、python コマンドを叩くだけで動くと思います。

![img_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2910920/20d0da33-97b3-a5d2-1285-2a75317b6e86.png)

機械学習やトレードについての言葉も多く登場しますが、Pythonの最低限の知識があれば、読める内容になっていると思います。

# ゴール設定

「**過去データによる学習とバックテストから統計的優位に立って損益が安定してプラ

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのソケット通信の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのソケット通信の比較

# Python

https://qiita.com/nadechin/items/28fc8970d93dbf16e81b

# Ruby

https://qiita.com/kudojp/items/d416d4c97f9d0512c088

# PHP

https://qiita.com/shiba0410/items/3102592350039bc1a7b9

# Java

https://qiita.com/Hyman1993/items/a3aaabbb2e83580d68d2

# JavaScript

https://qiita.com/take4eng/items/d0b009c48ee8c3fe420a

# Perl

https://perlzemi.com/blog/200

元記事を表示

【Python】Iris(アヤメ)のデータをpandasのDataFrame(df)で読み込む方法

## 背景
– 以前、[scikit-learnのToy datasetsの紹介記事](https://qiita.com/takuma-1234/items/f475c04c0e616fb919c1)を書きました。
– 今回は、Toy datasetsの中でもよく使用されるIris(アヤメ)のデータを例に、pandasのDataFrame(df)での読み込み方法を紹介します。

## 目標
– scikit-learnのIrisデータをDataFrame(df)で読み込めるようになる。

## Irisデータをdfで読み込む方法
“`python:Irisデータをdfで読み込む方法
import pandas as pd
from sklearn.datasets import load_iris

#Irisデータをsklearnから読み込み
iris = load_iris()

#辞書型に近い型でデータが入っているので必要箇所を指定してdataとcoloumsとしてdfで読み込み
df = pd.DataFrame(data = iris.data, columns = ir

元記事を表示

[python] エラーの処理 -except-

# はじめに
pythonによるプログラムを組む時、予期せぬエラーが発生するときがある。
例えば、共有のエクセルファイルを読み込むとき、誰かがファイルを開いている状態であるとか、指定のファイル名が存在しないなど
しかし、エラー処理をしないままの状態だと、プログラムが最後まで実行されず、途中で終了してしまう。
今回はエラー処理についてまとめてみた。

# 環境
windows 10

“`python
import platform
print(‘python version: ‘ , platform.python_version())
# python version: 3.7.8
“`

# 前回記事
https://qiita.com/junzai/items/05d2ffab903e57b47233

https://qiita.com/junzai/items/e14275bb412ea3ac5618

# Code
## 問題
“`python
f = open(“nofile.xlsx”, ‘r’)
print(‘second process’)
“`

元記事を表示

TechFUL 難易度3「ピラミッド」

今回はTechFULの「ピラミッド」を解いてみた
問題は下記のURL
https://techful-programming.com/user/practice/problem/coding/1743

# 問題概要
入力Nが与えられる。
ピラミッド建設に必要な石材の数を求めよ。

# 解説
問題概要がざっくり過ぎたので詳しくはURLを見てほしい
イメージとしては下記の絵の様な感じ(絵を描くの下手なのです….)
![.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1828135/80d95fac-e9d6-85c6-04d5-ef862e12ed54.png)

絵を見ると分かるように丸の数が上から1,2,3・・個ずつ増えると分かる。
「1番下の段は丸一つにつき石材をN個使い、1段上がるごとに丸一つに使う石材を1個減らす」らしい。
一番下を1段目、一番上をN段目として丸一つに使う石材の数を絵に描いてみる。
![し.png](https://qiita-image-store.s3.ap-northe

元記事を表示

【競プロ典型90問】007をPythonで解説

# はじめに
最近競プロを始めたので,[競プロ典型90問][1]の★1~★3を解いて典型問題へのアプローチ方法を学んでいます.
公式のソースコードがC++で困っているPython勢の方も多いと思うので,自分の解答をシェアしたいと思います!
初心者の解答なので,もっといい方法があれば教えていただけると嬉しいです!

# 007 CP Classes(★3)
https://atcoder.jp/contests/typical90/tasks/typical90_g

## 問題文
ABC 競技プログラミング塾には $N$ 個のクラスがあり、番号 $i$ $(1≤i≤N)$ のクラスはレーティング $A_i$ の生徒を対象としています。
今、$Q$ 人の生徒がこの塾に入塾しようとしています。番号 $j$ $(1≤j≤Q)$ の生徒のレーティングは $B_j$ です。各生徒は自分に合わないレベルのクラスに行くと不満になります。各生徒について、その不満度は次のように定義されます。
– 対象レーティング $a$ と自分のレーティング $b$ の差の絶対値、すなわち $∣a−b∣$

$j=1,

元記事を表示

【試行錯誤】OpenAI Whisperを活用した日本語歌詞のforced-alignment

# 概要
`whisper`と`wav2vec`を使った音素レベルのaudio-lyric-alignmentの方法を試行錯誤します。
# 背景
## forced-alignment
forced-alignmentはある音声(発話)とその書き起こしテキストにおいて、テキストの各音素が、音声のどの位置(時刻)に対応するかを推定する技術です。
https://linguistics.berkeley.edu/plab/guestwiki/index.php?title=Forced_alignment

この技術の応用先として、動画への自動字幕付与などがあります。
forced-alignmentのうち、歌唱音声と歌詞の時刻対応付けはaudio-lyric alignmentなどと呼ばれ、歌唱でない一般的な対話音声のforced-alignmentよりも難易度が高いです。一方で、カラオケ動画の自動作成など、audio-lyric alignmentの応用先も多く、実用化が望まれます。

日本語のaudio-lyric alignmentを手軽に使えるアプリ等は現状では存在しない一方、後

元記事を表示

pythonで変数が存在するか確かめる

## 概要
python で変数が定義されていないとエラーが発生するかと思います。
エラーを防ぐ方法に例外処理である`try except`があると思いますがその方法以外で
変数が定義されていないことを確かめたいと思います。

## 内容
まずはよくあるエラーから
“`py
function1=3.1415
print(function2)

# => NameError: name ‘function2’ is not defined
“`
もちろんfunction2は定義されていないのでエラーを発生します。
例外処理である`try except`を用いると
“`py
try:
function1=3.1415
print(function2)
except:
print(“err”)

# => err
“`
これ以外の方法に`local`関数を使用する方法があります。

“`py
function1=3.1415
if ‘function1’ in locals():
print(‘exist’)
else:
print(‘not

元記事を表示

複数条件のin演算子の内包表記

## 概要
こんにちはkentoです。初投稿です。

python の if文を使ってリスト(配列)の中に特定の要素が存在するか、存在しないかを判別するときに
複数の要素で分類したいときに用いる内包表記はどのようにしたらと試行錯誤した結果、このようにすれば分類できました。

## 内容

if文の中で複数条件を用いる中で
`or`や`and`を使用するかと思います。
そのほかにもpythonには
`any`や`all`などの関数もあります。

例えば
“`py
sample = [‘Humidity’]
print(‘temperature’ in sample or ‘Humidity’ in sample or’carbon dioxide’ in sample or ‘Atmospheric pressure’ in sample)
print(any([‘temperature’ in sample,’Humidity’ in sample,’carbon dioxide’ in sample,’Atmospheric pressure’ in sample]))

元記事を表示

異なる座標系への座標変換

例えば、画像内の任意の場所にあるboxの座標があるとします。
boxは画像の幅と高さを1として正規化されています。
さらに、そのbox内の任意の場所にある、mini_boxの座標があるとします。
mini_boxは、最初のboxの幅と高さを1として正規化されています。

![pexels-lina-kivaka-1741205.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/70af5fd5-2a2e-0fa2-44eb-a3136a462d4c.jpeg)

# 小さい座標系から、大きい座標系への変換

mini_boxは、画像の座標系では、どのような座標になるのでしょうか?
ここでは、それぞれのboxのorigin_x,origin_y,width,heightがわかっているとします。

“`python
box = [x,y,w,h] # 画像内座標系
mini_box = [mini_x,mini_y,mini_w,mini_h] # box内座標系

def scale_to_b

元記事を表示

Seleniumを勉強した記録

# 環境構築

### Seleniumライブラリ

“`:Anaconda Prompt
>pip install selenium==4.1.0
“`

### ChromeDriver

https://chromedriver.chromium.org/downloads

現在のChromeのバージョンとあわせる。
chromedriver_win32.zipをダウンロードしたら,適当なフォルダに解凍する。
chromedriver.exeを実行したくなるが,実行する必要はない。

`重要`
chromedriver.exeを置いた場所にパスを通すこと。

# テスト(データを入力し,ボタンを押す)

“`python:APNIC_Whois_Search.py
from selenium import webdriver
import time

#クロームの立ち上げ
driver=webdriver.Chrome()

#ページ接続(時間がかかる)
driver.get(‘http://wq.apnic.net/static/search.html’)

#IPア

元記事を表示

GCE(VM インスタンス) の Python(Ubuntu) で Selenium を使ったスクレイピング+α

## やりたいこと
– 【[こちらから](https://qiita.com/kawagoe6884/items/940d87d9a0b7d919f1dd)】無料枠でGCEを起動したい
– 【[こちらから](https://qiita.com/kawagoe6884/items/940d87d9a0b7d919f1dd)】SSHの22番ポートを3333番ポートに変更したい
– 【このページ】GCE(仮想マシン) 内の Python(Ubuntu) でSeleniumを使ったスクレイピング
– 【このページ】取得したファイルをGoogle Driveにアップロード
【~~こちらから~~】スクレイピングを1ヵ月周期で実行(書けたら書く)

※※※※※※※※※※※※※※※※※※※※※
※**GCEは作成済みという前提で話を進めます** ※
※※※※※※※※※※※※※※※※※※※※※

## メモ
– gspread でもできる。ただ、ファイルが複数あるとその数だけスプレッドシートを用意しないといけないし、事前設定・リクエスト回数制限

元記事を表示

plt.subplots()のaxesをfor文1つでイテレーションする

# 概要
fig, axes = plt.subplots(2,3)のaxesの要素にfor文でアクセスするとき,普段なら,
“`python
for i in range(2):
for j in range(3):
axes[i, j]
“`

とするが,これを
“`python
for i in range(6):
axes[i]
“`
のようにfor文1つでアクセスする方法を考えた.

# TL;DR
for文の前にaxes = axes.reshape(-1)を置くだけ
“`python
fig, axes = plt.subplots(2, 3)

axes = axes.reshape(-1)

for i in range(6):

“`
axesは単なる二次元配列なので,1次元にしてやればよい.

# 例
ランダムな周波数で10個のサイングラフを生成する.
“`python
import pandas as pd
import numpy as np
import matplotlib.pyplot as p

元記事を表示

[長期運用]Pythonを使って、平均と標準偏差から将来の株価を予測する[30年で8倍?]

## はじめに
普通将来の株価を考えるとき、年率7%で30年運用したら、1.07の30乗を計算して約7.6倍と計算しますよね。

でも、年率ってマイナスのときも10%を超えるときもありますよね?
GPIFのウェブサイトにはこう書かれています。

> 運用の世界では一般的に、株式や債券など各資産のリスクを、リターンの「標準偏差」を使って表します。「標準偏差」とはリターンのブレの大きさを表す数値で、標準偏差が大きい(リスクが高い)ほど、リターンのブレ幅が大きいことを意味します。

では、30年運用したとき何倍になるかをシミュレーションするときも、年率はブレを含むべきでないでしょうか。
## 予想
増えたり、減ったりして、7.6倍に収束するんじゃないかな。
悪くて1.5倍、よくても10倍とか

## 設定
– 年率が平均7.0%、標準偏差25%の正規乱数に従うとする
– [分散投資の意義② 投資のリスクとは](https://www.gpif.go.jp/gpif/diversification2.html)より
– 各年の年率は独立試行とする
– 30年間運用するとする

元記事を表示

Pythonのloggingモジュールを使用してログ出力する際のTips

Pythonのloggingモジュールを使っているうちに知見が溜まってきたので記事にします。

## 設定はfileConfigよりdictConfigで行う

ログレベルやフォーマッタ等の設定を行う際、fileConfig関数とdictConfig関数が利用できる。

https://docs.python.org/ja/3.8/library/logging.config.html

dictConfig関数の方が柔軟に設定を行うことができる。

使用例

“`py
from logging import getLogger
from logging.config import dictConfig

CONFIG = {
“version”: 1,
“disable_existing_loggers”: False,
“formatters”: {
“default”: {
“format”: “%(asctime)s %(name)s %(levelname)-5s: %(message)s”
}

元記事を表示

アルゴリズム実技検定(PAST)について 並びに 第11回A〜C問題 Python解答例

[Supership](https://supership.jp/) VPoEの名畑です。

昨年末に[採用活動のために競技プログラミング(AtCoder)を始めて一年経ったので感想を書きます](https://qiita.com/nabata/items/44fa3995e476b12b9860)という記事を書きました。

それをAtCoderの社長である高橋様に褒めていただけたのは2021年の私的良かったことニュース上位です。本当にありがとうございます。

OTHERカテゴリの最新記事