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

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

【Python】pythonで毎時0分にtweetするようにしてみた

## 概要
pythonで毎時0分にtweetするようにしてみた。

## 前提条件
・Pythonが既にインストールされていること。
・tweepyがすでにインストールされていること。
・APIキーとアクセスキー、トークンの取得ができていること。
【Python】pythonでtweetしてみたの続編です。)

## 定期実行関数モジュール(schedule)のインストール
コンソールを開いて下記のコマンドを実行する。

“`
pip install schedule
“`

## tweetプログラムに定期実行処理を追加
tweetプログラムにschedule関数を追加して毎時0分に実行できるようにする。

実際に実行したプログラムは下記になります。
“`py
import tweepy
import schedule
from time import sleep
import datetime

# Twitter Dever

元記事を表示

ExcelファイルをPythonでデータ分析する (1.Excelファイルの読み込み)

**ExcelファイルをPythonでデータ分析する**
1.Excelファイルの読み込み – [2.グラフ]() – [3.度数分布]() – [4.ランキングチャート]() – [5.相関]() – [6.ディシジョンツリー]()

# 環境

#### Google Colaboratoryを使用します

[Google Colaboratory](https://colab.research.google.com/?hl=ja)は、Googleの提供するオンラインPythonプログラミング環境です。ノートブック形式と呼ばれる、プログラム、実行結果、メモを1つのファイルで取り扱うことができて、またその中をセルという単位で分割できます。例えばExcelファイルの読み込みまでのプログラムを1つのセルにして実行しておいて、その読み込み結果からグラフを描画するプログラムを別のセルにしておけば、描画プログラムを変更するたびに毎回ファイルを読み直すことをしなくても良くなります。

#### 日本語matplotlibのインストール

図のキャプションなどを日本語で表示できるように、japan

元記事を表示

【Python】TwitterAPIとtweepyを使用してツイート自動化を行う方法

よく記事にあがっているようなPythonによるTwitterの投稿でハマった箇所があったので、実装の振り返りをしつつ記事に残しておこうと思います。

# 実装
“`python:add_tweet.py
from pprint import pprint
import tweepy

import config

api_key = config.TWEETER_API_KEY
api_secret_key = config.TWEETER_API_SECRET_KEY
access_token = config.TWEETER_ACCESS_TOKEN
access_secret_token = config.TWEETER_ACCESS_SECRET_TOKEN

def clinet_info():
“””認証情報を返却する関数

Returns:
_type_: Client
“””
client = tweepy.Client(
consumer_key=api_key,

元記事を表示

libSBMLのPython APIの例が少し読みにくいので書き直す

# 概要
libSBMLというSystemBiologyのためのマークアップ言語を扱うライブラリのPython APIの例がPython使いには読みにくかったので、勝手に書き直す。

元ページ:https://synonym.caltech.edu/software/libsbml/5.18.0/docs/formatted/python-api/libsbml-python-creating-model.html
元ファイル:https://synonym.caltech.edu/software/libsbml/5.18.0/docs/formatted/python-api/create_simple_model_8py-example.html

# 環境
“`
$ python –version
Python 3.10.0
$ pip freeze | grep libsbml
python-libsbml==5.19.5
“`

# 内容
## 元ファイル

コード内容(createSimpleModel.py)

<

元記事を表示

PySBのexamplesを確認してみる(第2回 bax_pore_sequential.py & run_bax_pore_sequential.py)

# 概要
PySBとはSystemBiologyを扱うためのPythonライブラリである。

document: https://pysb.readthedocs.io/en/stable/index.html
repository: https://github.com/pysb/pysb

今回、その[examples](https://github.com/pysb/pysb/tree/master/pysb/examples)の一部の内容を確認したので、
自分のために簡易的にまとめておく。

(前回は[PySBのexamplesを確認してみる(第1回 bax_pore.py & run_bax_pore.py)](https://qiita.com/yo314159265/items/ddd16d80ce7f999f4fc9)。)

# 環境
“`
$ python –version
Python 3.10.0
$ pip freeze | grep pysb
pysb==1.13.2
“`
(なお、インストールは`pip install pysb`で大まかになんとかなる

元記事を表示

【Python】レーベンシュタイン距離とジャロ・ウィンクラー距離の計算方法

## この記事でやること
– 最近表題の2つの”距離”に触れる機会があったのだが、知らなかったのでまとめる
– ライブラリを使った計算方法もまとめる

まず最初に導入として編集距離について説明する。

## 編集距離とは
2つの文字列がどれくらい似ているかを調べたいとする。
このとき、編集距離を使うと便利。

編集距離とは、**挿入(insertion)**、**削除(deletion)**、**置換(substitution)** を何回行えば
同じ文字にすることができるか、で考えることができる。

「編集距離が大きい = 文字列を揃えるのにコストがかかる = 類似度が低い」と言える。

編集距離は上記の組み合わせによって複数パターンが考えられるが、その中でも最小ものを**最短編集距離**と呼ぶ。

例えば「**おにぎり**」と「**おまいり**」と比較するとする。
この場合、「に→ま」、「ぎ→い」 と2回置換すれば一致できる。
一方で置換の作業を 「に」を削除→「ま」を挿入 という手順を踏めば、編集手順は長くなる。

このように編集距離はいろんなパターンが考えられるが、ここでは

元記事を表示

PySBのexamplesを確認してみる(第1回 bax_pore.py & run_bax_pore.py)

# 概要
PySBとはSystemBiologyを扱うためのPythonライブラリである。

document: https://pysb.readthedocs.io/en/stable/index.html
repository: https://github.com/pysb/pysb

今回、その[examples](https://github.com/pysb/pysb/tree/master/pysb/examples)の一部の内容を確認したので、
自分のために簡易的にまとめておく。

(次回は[PySBのexamplesを確認してみる(第2回 bax_pore_sequential.py & run_bax_pore_sequential.py)](https://qiita.com/yo314159265/items/178d93cb33958e2269e5)。)

# 環境
“`
$ python –version
Python 3.10.0
$ pip freeze | grep pysb
pysb==1.13.2
“`
(なお、インストールは`pip in

元記事を表示

できるか!?ニュービジネス 初心者が1日で物流追跡アプリを作ってみた

# 1.この記事の対象の方と完成品

#### 1-1 この記事の対象の方
– トラック間や鉄道の連携、組み合わせの非効率さにお悩みの方
– DXが大好きで非エンジニアから情報システム部へ異動された初心者の方
– 「トラック」(陸送)、「鉄道」(モーダル)、「船舶」(海運)、全部ぶつ切りで効率悪くね?と思ってる方
– 大規模開発しなくても、新規事業は作れると思っている方
– むしろ新規事業で大規模開発っていろいろやばいよね!?と思ってる方
– 1日で新ビジネスのモックを作りたい方

私も新米ですがアイデアを形にしようと思いノーコード開発へ挑戦しました。よろしくお願いいたします。

#### 1-2 完成品(第一期)
「トラック・鉄道輸送位置捕捉 配送管理アプリ」
mcrconを利用してStreamDeckからMinecraftサーバーで特定のコマンドを実行する

# はじめに
最近(2022/6/8)、Minecraftに1.19アップデートが来たため新たにサーバーをたててフレンドと遊ぶことになった。
その時「/time set day」や「/weather clear」といったコマンドを打つことが多くあり、いちいちプレイを止めて入力するのは面倒くさいと思っていたところ、目の前にあるStreamDeckが目につき「ボタン1つでコマンド送信出来たら便利では?」と思い調べたところ、Minecraftにはもともとrconという通信機能が備わっており設定すればPythonからでも扱えることが分かったため作ってみました。

# 環境
### Minecraft server 側
+ CentOS(さくらVPS)
+ Minecraft server 1.19
### クライアント側
+ Windows 10
+ Python 3.8.2

### 機材
+ StreamDeck 15ボタン (https://www.elgato.com/ja/stream-deck)

# 概要
①サーバー側の設定
②プログラムの作成
③StreamDeckに適応

#

元記事を表示

[2022年]初心者向けおすすめDocker書籍(参考書)

初心者向けおすすめDocker書籍を紹介します。
プログラミングやIT系の勉強するときはKindleや電子書籍で勉強するのがおすすめです。
***
[手軽に使うDockerの本[Amazon]](https://amzn.to/3O9wJiR)
![a.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702119/cdf8ab47-d3c9-57f7-5ef5-c69e2248f6cd.jpeg)
– 第1章 はじめに
– 第2章 Docker Desktopのセットアップ
– 第3章 WSL2環境にDockerをセットアップ
– 第4章 Windowsコンテナのセットアップ
– 第5章 Docker Composeの説明
– 第6章 サービスを提供するコンテナの紹介
– 第7章 開発環境としてのコンテナ
– 第8章 ビルド環境としてのコンテナ
– 第9章 コンテナの中からDocker
***
[たった1日で基本が身に付く! Docker/Kubernetes超入門[Amazon]](https://a

元記事を表示

週一30分づつで競馬予想を初めてみる

# 競馬知識ゼロだけど競馬予想やってみる!

## 本記事について
毎週土曜に30分だけ確保して競馬予想のあれこれを試してみます。
記事数をいたずらに増やしたくないので本記事を更新する形で更新してきます。
忙しかったらその週はパスしますが、できるだけ更新してきたいと思います。

# 1週目(6/11)
本記事作成
久しぶりにQiitaログインするので二要素認証関連でごたごた
一旦以下の記事を参考にソースを観てきます。

– [ディープラーニングさえあれば、競馬で回収率100%を超えられる](https://qiita.com/yossymura/items/334a8f3ef85bff081913)

まずはデータをとるところから始めてきます
JRAの公式サイトはスクレイピング禁止らしいと聞いているので取ってこれるサイトを探す必要があります。
参考記事のソースはすでに売り切れとのことで、自習自力で探してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260656/c38df1f

元記事を表示

英文データセットを日本語翻訳して文書分類してみる

先日、[HappyDBで『幸せな瞬間』を文書分類してみる](https://qiita.com/izaki_shin/items/d817f544451bb4ba88dd)という記事を投稿しました。

HappyDBという __『1日の間で良かったこと』の記述文を集めたデータセットに対して、文書分類を実施してみた__ という記事です。

HappyDBには、各記述文に、どういった種類の良かったことなのかというカテゴリ(例えば、Achievement(達成)やBonding(人との繋がり))がラベル付けされており、機械学習を適用することで、記述文からカテゴリを推定することをできるようになりました。

しかし、HappyDBは英文データセットです。
得られたモデルを試そうにも、英文を入力する必要があります。
英語で書いてそれなりにちゃんと推定してくれても、何だか達成感がない…。

__そう、やっぱり、日本語で試したい…!__

という訳で、タイトルの通りなのですが、
__HappyDBを日本語に機械翻訳して、翻訳後の文章で文書分類を試してみました。__
原文と翻訳文とで、文書分類の精度がど

元記事を表示

Amazon SageMakerノートブックインスタンスの長時間稼働を自動検知する

# はじめに
ご覧いただきありがとうございます。

[前回](https://qiita.com/gahirosan/items/257116510b133c1a2889)の記事で、EC2インスタンスの長時間稼働を検知して、自動通知を送る検証を行いました。

今回SageMakerノートブックインスタンスの長時間稼働を検知して、自動通知を送るようにします。
前回のようにRunCommandを使った検知はできなかったので、CloudWatchのログを利用した検知方法を検証します。

# 概要
(★)がついているセクションは、手を動かして頂く項目です。

1. 今回の構成(★)
2. SageMakerの環境構築(★)
3. SNSトピック/サブスクリプションの準備(★)
4. Lambda実装(連続稼働の検知)(★)
5. EventBridgeで検知を自動化する(★)
6. 挙動確認(★)
 

事前準備
– AWSアカウント作成
– AdministratorAccessを付与したIAMユーザーの作成

# 1.今回の構成
– Amazon SageMaker
– AWS Lambd

元記事を表示

PythonでGmailを自動送信する方法

最近、Pythonを始めるにあたり、自動化してみたかったGmailの送信処理の実装を行いました。
まだまだPython初心者に自分にとっては、学びになる点が多かったので共有したいと思います。

# 実装
実装は、多くの記事にあるように、Pythonのデフォルトのライブラリである`smtplib`と`MIMEText`の`email.mime.text`を使用して行います。

“`python:mailer.py
import smtplib
from email.mime.text import MIMEText
from dotenv import load_dotenv
import os
import csv

load_dotenv()

class Mailer:
“””メールを送信するクラス
“””

# 初期化
def __init__(self, addr_to, subject, body):
“””Mailerクラスのコンストラクタ

Args:
addr_to (_type_): 送信元先情報

元記事を表示

Bカーブの可変抵抗の入力値を使って擬似的にAカーブのようなデータを取り出す

## 可変抵抗の種類について
可変抵抗には抵抗値の変化の特性によって、Aカーブ、Bカーブ、Cカーブといった主に3種類のものが存在するようです。
一般的にはAカーブ、Bカーブのものがよく使われるようですが、用途毎に準備しておくのも無駄ですし、Amazon等で安く購入できる物はBカーブのものが多い印象です。

都合によりAカーブのような特性をもたせたかったのですが手元にBカーブの可変抵抗しか持ち合わせていなかったので、計算式を用いて擬似的にAカーブ、それも任意のカーブ具合に調整できないか考えてみました。

## 計算式
#### 前提
RaspberryPi等で、12bitのA-Dコンバータ経由で可変抵抗の値を取得する場合を想定しています。
私の場合はRaspberryPi4Bと[MCP3208-CI/P](https://akizukidenshi.com/catalog/g/gI-00238/ “秋月電気通商”)を使用しました。

#### Bカーブの可変抵抗をそのまま使用する場合の計算式

$y=a\ x$
ここで、$x$は12bitなので0~4095まで変化します。この変化量はBカ

元記事を表示

[2022年]未経験のエンジニアにおすすめの書籍(新書文庫本)

未経験のエンジニアにおすすめの書籍を紹介します。
***
[データサイエンスが求める「新しい数学力」[Amazon]](https://amzn.to/3OcajxE)
![aa.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702119/64c319ea-e62a-4375-6514-4275649ff7f3.jpeg)
– 序章 AI、データサイエンスが変える数学のこれから 
– 第1章 「文系理系を超えた」数学力の鍛え方
– 第2章 激変する数学教育の現場からⅠ
– 第3章 激変する数学教育の現場からⅡ
– 第4章 動き始めたデータサイエンス教育
– 第5章 ジョブ型時代を生き抜くための“数学力”を持つ人材
– 最終章 佐藤優氏が語る 一生役立つ数学の学び
***
[プログラムはなぜ動くのか 第3版[Amazon]](https://amzn.to/3MIDpn4)
![aaa.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.

元記事を表示

【Python】変数を使って文字列を作ったり、文字列に変数を埋め込んだりする方法をいつも調べちゃうのでまとめてみた

# 0. はじめに
動機はタイトルの通り。
システムのログなどで「変数を文章の中に入れて出力したい」みたいな場面は皆様も日常茶飯事かと思います。
が、いくつかの言語をやっているとそれぞれ微妙に文法が違うので、「あれっpythonだとどれでできるんだっけ…?」「javascriptだとこうじゃないんだっけ…?」みたいに僕はいつも混乱しています。
ということで、直近でよく使っているPythonからメモ代わりにまとめてみます。
まだ知らない方法、他言語でのまとめもあれば、今後追加するかも知れません。

# 1. `+`で頑張って連結(連結演算子)
言わずと知れた基本文法。
`文字列 + 文字列`のように書くと、文字列を連結できる。
ただし、javascriptとかでは`文字列 + 数字`としても数字を自動で文字列化してくれるのでエラーにならないけど、pythonではエラーになるので必ず数字は`str()`で文字列化することに注意。
“`python:python
str1 = “数字:”
value1 = 1

print(str1 + str(value1))
# 出力 >> “数字:1

元記事を表示

Pyenvを使ってから標準入力のリダイレクトがEOF errorになったので対処法

状況が特殊で同じような人はいないと思うけど備忘録

## 経緯
今まで`main.py`に`input.txt`からリダイレクトさせたいと思ったときに
`python main.py < input.txt`と入力していたが、それがPyenvを入れてから `EOFError: EOF when reading a line`になった ## 対処法 コマンドの最初の`python`をなくして`main.py < input.txt`に変えた ## あとがき 原因は謎 多分Pyenvを入れたことで、インタプリターへのパスが変わったとかだと思うけど、 `python main.py`のコマンドは普通に動作する...

元記事を表示

[Python]Arduinoのシリアルポートを自動検出して取得

DeviceNameで共有で使われているデバイス名を指定

“`python
import serial
from serial.tools import list_ports

class Settings:
DeviceName = “USB-SERIAL”

def select_port(default_name=Settings.DeviceName):
ser = serial.Serial()
ser.baudrate = 9600 # ArduinoのSerial.beginで指定した値
ser.timeout = 0.1 # タイムアウトの時間

ports = list_ports.comports() # ポートデータを取得

# for info in ports:
# print(info.description)

devices = [info.device for info in ports if default_name in info.description]

元記事を表示

初心者向け Python編)Github ActionsをつかってTwitter botを作ってみたぞ

### Twitter botを作りたい
私は乃木坂46というアイドルグループのファンで、そのメンバーがインタビューなどで語っている内容について「若いのに、なかなかステキなことを語っておるな」とかねがね感じていました。そんなわけでそいつを皆さんに共有したいなと思うものの、いちいち手動で配信するのはめんどくさいからどうしようと思ってグズグズしていたところ、なんとなく見つけたのがGithub Actionsという機能(サービス)です。

この投稿では、Githubのシロウトがインターネットでググって見つかったソースをもとに試行錯誤しながら作ったTwitter botを紹介しますが、とりあえず”動けばいい”(DONE IS BETTER THAN PERFECT!)という体なので、細かい部分は目をつぶってください。

### 前提
Twitter botを作るためには色々なやり方があるみたいですが、今回は私が作って実際に動いている実績があるやり方について説明します。

具体的には言語はPythonで、OAuth1Sessionライブラリを使った実現方法ですので、PythonやOAuth1Se

元記事を表示

OTHERカテゴリの最新記事