Python関連のことを調べてみた2021年02月14日

Python関連のことを調べてみた2021年02月14日

ChatterBotを使ってみる。

#概要
Chatbotをさわってみたかったので、以下のgithubの「**ChatterBot**」というのをさわってみた。
まだ、入り口の入り口だが。。。エラー等に出会ったので、その対処含め、記事にする。

https://github.com/gunthercox/ChatterBot

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635156/60acb29a-39be-a75d-7dde-86870bb490ea.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635156/321d5d50-e7c0-1b5c-e894-1fc7b7ef9681.png)

#環境
Windows10
python3.7

#エラーとその対処方法

## エラーの内容
以下のようなエラーが出ることがあると思う。

“`
raise IOError(Errors.E941.

元記事を表示

manimの作法 その50

#概要

manimの作法、調べてみた。
point_from_proportion使ってみた。

#サンプルコード

“`
from manimlib.imports import *

class test(Scene):
def construct(self):
plane = ComplexPlane(unit_size = 2)
plane.add_coordinates()
self.add(plane)
self.t_offset = 0
dot = Dot()
rate = 0.25
orbit = Circle(radius = 2)
def around_circle(mob, dt):
self.t_offset += (dt * rate)
mob.move_to(orbit.point_from_proportion(self.t_offset % 1))
dot.add_updater(around_circle)
self.add(dot)
self.wait(5)

“`

#生成した動画

元記事を表示

numbaでpythonを高速化する

numbaを使うとpythonが速くなると聞いて使い方を確認してみました

numba公式
https://numba.pydata.org/

こっちを読んだ方が良い解説記事
https://qiita.com/gyu-don/items/9d223b007ca620e95abc

# 何故速くなるのか

LLVM IRでコンパイルしてネイティブコードとして実行することで速くするようです

LLVMについてはこちらの記事が分かりやすかったので貼っときます
https://qiita.com/Anko_9801/items/df4475fecbddd0d91ccc

# 2つのモード

no pythonモードとobjectモードがあり、no pythonの方が速くなります。pythonが遅い原因として型判定する事とインタプリタで逐次実行する事が挙げられるようですが、numbaのno pythonモードでは型を固定した上でコンパイルもするので最大限の高速化が得られるのに対し、objectモードでは型判定は残してコンパイルによる高速化のみを行うようです。

# 使い方

## 1. in

元記事を表示

[Djnago初心者]DjnagoでTodoリストを作成する③ (省略Ver)

今回は「[Django初心者]DjangoでTodoリストを作成する」の第3回として、Todoの詳細画面を作成していきます。

前回までは、データを追加して一覧表示ができていることを確認しました。

まだそこまでやれていない人はぜひ前回までをみてください!

[[Djnago初心者]DjnagoでTodoリストを作成する① (省略Ver)](https://qiita.com/cardene/items/b15b0172fc446259fd29)

[[Django初心者]DjangoでTodoリストを作成する②(省略Ver)](https://qiita.com/cardene/items/274d25a6605a3e310db2)

また、この記事は手順の確認のため解説を省いています。
細かい説明しているバージョンもあるので、初学者のかたは下記を見てください。

[[Django初心者]DjangoでTodoリストを作成する③](https://www.cardenema.com/?p=113)

それでは早速やっていきましょう!

それでは早速やっていきましょう!

# 構成の確

元記事を表示

Python技術力テスト(エラーメッセージ編:2題)※コード量は1行と2行

#はじめに
この問題に両方正解できた方は、**初心者**のレベルは絶対に超えている :tada: と思います。
かりに、**中級者の技術力がある**ことの確認とさせて下さい。

2題は、各々、**1行と2行**のコードからなります。
テーマは、**エラーメッセージ**です。(**回答は、末尾です。**)

#ルール
* 解は、2つ程度まで案出あり。
* Pythonを実行させて←:no_good:そのエラーの様子をみてから考えるのは、NG。**頭だけで考えて下さい。**
* ただし、ネット等で調べるのは、問題なし。
* Python3.7(windows)を前提にしていますが、、、特に、細かいバージョンには影響されないと思います。
* 制限時間は、ありません。

#おことわり
のりとしては、**クイズ**なので、Pythonの手練れの方でも、クイズが苦手な方は、正解できないと思います。それは、Pythonの技術力じゃなくて、クイズとかの得手不得手かと。

#エラーメッセージ編[第1問]

|出題|
|:—|
|以下のコードにおける「text_file_ha_nai.txt」は、存在

元記事を表示

PySimpleGUIを使ってプレゼン用カウントダウンタイマーを作った

#序論
男もすなるPySimpleGUIといふものを女もしてみむとてするなり[(大嘘)](https://ja.wikipedia.org/wiki/%E5%9C%9F%E4%BD%90%E6%97%A5%E8%A8%98)

初投稿です。

#背景・目的
私の研究室の卒論修論発表会でzoomに表示するためのプレゼンタイマーが必要でした。
指定の発表時間が終わるとリセットされ、質問時間として継続するものです。
既存のものにはjavascriptによるブラウザ表示のもの([こちらのサイト](https://ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/js/timer/index.html))があったため、使わせていただきました。

zoomにて画面共有を行う場合、ブラウザ上のツールバーや通知など公の場では好ましくない(かもしれない)ものが映り得ます。
上記の手法を用いる場合、サイトにて示されているように画面共有にはOBSを使用し画面の一部を切り抜いて映す、という動画配信者の如き手間がかかります。
zoomにも画面を切り

元記事を表示

YouTube, Deepspeech, with Google Colaboratory [testing_0001]

## Setting up Google Colaboratory

“`python:GoogleColaboratory
from google.colab import drive
drive.mount(‘/content/drive’)
“`

Rf.
外部データ: ローカル ファイル、ドライブ、スプレッドシート、Cloud Storage
https://colab.research.google.com/notebooks/io.ipynb

# Speech Recognition with DeepSpeech
Rf.
Erdene-Ochir Tuguldur
tugstugi
Берлиний Техникийн Их Сургууль
**https://github.com/tugstugi/dl-colab-notebooks**

>This notebook uses an open source project [mozilla/DeepSpeech](https://github.com/mozilla/DeepSpeech) to tran

元記事を表示

Scrapyを使ったスクレイピングのメモ

[Scrapy](https://scrapy.org/)を使ったスクレイプのやり方と、その流れと、雑多なメモ

## インストール~初期設定

pipでやるだけ。 startprojectをするとPROJECTNAMEのディレクトリができ、そのディレクトリ以下にいいかんじデータを揃えてくれる。

“`
#インストール
$ pip install scrapy

#プロジェクトの作成
scrapy startproject PROJECTNAME
“`

## scrapy shellを使ったパーサーの確認

startprojectで作成されたディレクトリにspidersというディレクトリができているので、そこにクローラーを書いていく流れになる。
ただ、毎回spiderを起動してパーサーを書くってなるとリソースの無駄になるので、ある程度パーサーの動作確認だけをおしておきたくなる。そのときに使うのがscrapy shell

“` shell
$ scrapy shell ‘https://www.yahoo.co.jp’

…log…

>

元記事を表示

文系の非エンジニアがiPadだけでpythonと機械学習の勉強をする①環境構築編

# はじめに
このご時世で「新規事業」といったものに関わってくると、必ず「AI」に取り組むことになります。

3年ほど手探りでやってきましたが、エンジニアが話していることを理解するためにはきちんと勉強する必要があると思い、G検定を学習しました。

G検定の学習を始めてみると、資格の取得程度では到底語れない世界があることを思い知り、コードに手を出してみます。
(ただしお金のかからない範囲で)

#準備するもの
– iPad
– Microsoftアカウント

#勉強する人のスペック
– G検定合格(2020.3)
– コードは10年以上書いてない
– VB6.0,PL/SQL,COBOL
– 大学時代は作者の気持ちを考えていました

# Azure Notebookとは?
pythonエンジニアは大抵、jupyter notebookという環境で色々開発などをしています。
Azure Notebookは、MicroSoftアカウントがあれば、誰でも無料でAzure上でjupyter notebookを使ってpythonなどの機械学習の勉強ができます。
「勉強してみたいけど環境に投資する

元記事を表示

LSTMによる株価分析

はじめまして。ryuと申します:grin:
Aidemyさんのデータ分析コースを受講したので、そこで学んだ内容を使ってデータ分析をしてみたいと思います!

お題は趣味でやっている株式投資を絡めて、株価の分析を行おうと思います。
今回はニューラルネットワークの手法の一つであるLSTM(Long short term memory)を用います。
LTSMについての解説は[こちら][link-1]が参考になります。
[link-1]:https://tips-memo.com/python-lstm

**構成**
以下の記事構成でご紹介させていただきます。
1.分析目標とデータ
2.結果
3.コード
4.所感

**1. 分析目標とデータ**
私自身が個別株の投資をやっているので、とある銘柄の株価を予測します。
ある日付時点から10日後の値動きを予測するというモデルです。※今回の分析では12/14~12/28の区間を予測しております。
使用するデータは[株式投資メモ][link-2]さんからwebスクレイピングを使用して取得しております。
“調整後終値”の5年分の時系列データを取得し、pa

元記事を表示

ラズパイ4BでSSH接続(Mac、最初からディスプレイなし、無線LANの場合)<後編>

#5.起動する(電源に繋ぐ)#
Raspberry Pi4にMicroSDカードを挿して、USB-Cで給電し起動を行ってください。

緑のランプが点滅すればSDCardの読み込みが行われています。

#6.SSH接続を行う#

[前回の記事](https://qiita.com/hirox107/items/b1d1842bcb591a3b6fee)でmicroSDCardにwpa_supplicant.confファイルが書いてあるので(ちなみにwpaはWi-Fi Protected Accessの略です)、ラズパイの電源を起動をしただけでラズパイとWiFiが繋がっている状態になります。その状態でMacからリモートでSSH接続を行います。

リモート接続するためにはラズパイのIPアドレスが必要になります。

調べるためにはターミナルで以下のコマンドを打ってください。

“`arp -a“`

そうするとこのような画面が出てきます。

![スクリーンショット 2021-02-11 19.50.58.png](https://qiita-image-store.s3.ap-north

元記事を表示

Pythonによる四則演算コンパイラの作成

##はじめに
こんにちは,keygoroと申します.よろしくお願いします.
今回,Pythonを使用して四則演算に対応するアセンブリ言語プログラムを生成するプログラムを作成しました.完成形ではありませんが,ここにまとめたいと思います.作成するにあたり,植山類さんの低レイヤを知りたい人のためのCコンパイラ作成入門(https://www.sigbus.info/compilerbook) を参考にさせていただきました.

##目的
今回の目的は,四則演算に対応するアセンブリ言語プログラムを生成するコンパイラをPythonで作成することである.例えば,30 + (4 − 2) × 5などの式がコンパイルできるようにする.
コンパイラで計算を行う際,計算の優先順位を処理する必要がある.入力として与えられる数式はただの文字列であって,構造化されたデータではない.式を正しく評価するためには,文字の並びを解析して,そこに隠れた構造をうまく導き出す必要がある.そのために,今回は構文解析の最も一般的なアルゴリズムの一つである「再帰下降構文解析法」を用いてコンパイラを作成する.以下で,コンパイラを作

元記事を表示

Pythonを使ってconnpassイベントをキーワード検索

# Pythonを使ってconnpassイベントをキーワード検索

公式ドキュメント … https://connpass.com/about/api/

## リクエストURL

**パラメーター**
keyword_or … キーワード (,)区切りで複数選択
ym … 取得年月(YYYYMM)(,)区切りで複数選択
order … 表示順(1: 更新日時順, 2: 開催日時順, 3: 新着順)
count … 取得数

例:
https://connpass.com/api/v1/event/?keyword_or=php,laravel,wordpress&ym=202102,202103&order=1&count=100

## Python側

キーワード、取得年月、取得数で検索できるようにした
結果は加工しやすいようにDataFrameに入れた

“`Python
def get_search(keyword: str, ym: str, count: int = 100):

df = pd.DataFrame(
colu

元記事を表示

共変ベクトル、反変ベクトル生成器を作ってみた(MathJaxがFirebaseで動かなくて中途半端なでき)

#共変ベクトルと反変ベクトルの計算を楽にしたい
一般相対性理論を勉強する場合に最大の難関が、「共変ベクトルや反変ベクトルのイメージがつかない」ことだと思います。
共変ベクトルと反変ベクトルを掛け合わせると綺麗にスカラーになる部分が一番面白いと個人的には思うのですが、その手前でイメージがつかないと挫折しそうでした。
そんなとき、「自動でクリストッフェルや共変や反変を計算してくれるサイトがあればなあ」と思っていました。
思っていたので、作りたくなり、作りました。

[反変ベクトルと共変ベクトルの計算機](https://eng-for-med.firebaseapp.com/kurisutofferu/KyouhenHanpen.html “反変”)

#自分のコンピューターでみた場合 vs Firebaseにホスティングした場合
自分のコンピューターでみると、うん!ばっちり!なできです 1次〜100次元まで計算できます!
![スクリーンショット 2021-02-13 午後9.17.54.png](https://qiita-image-store.s3.ap-northeast-1.

元記事を表示

TensorflowのPreProcessでTensorflow以外の関数を使う

# はじめに
tensorflow.data.Datasetを使っていて、preprocess内でnumpyのFFTやopenCVを使ったらエラーが出て困った人向けです。いや自分自身が困ったので、そのTipです。

# 時間がない人向け

tf.py_functionを使用すると出来る。

# 細かい説明

## tf.data.Datasetの簡単な動き

こちらは[tensorflowの公式のドキュメント](https://www.tensorflow.org/tutorials/load_data/images?hl=ja)で書いてある通りに、datasetのloaderを作ります。pytorchでいえばdataloaderですね。

“`python
def preprocess_image(image):
image = tf.image.decode_jpeg(image, channels=3)
image = tf.image.resize(image, [192, 192])
return image

def load_and_prepr

元記事を表示

Jupyter Notebook で Ruby が使えるってま!?

# 概要
会社でRailsを使って開発をしている関係でRubyのコードを試したいことが多々ありました。
Paizaとかブラウザで実行できるものもあるがPythonみたくJupyter notebookでできないかなと思っていました。

そこで調べるとRubyをJupyter notebookに入れることが出来ることが判明(゚∀゚) 実際に導入する手順がわかったので今後PCが壊れたときのためにインストール方法をメモします。

# 条件
| 言語 | ver |
| —- | —- |
| Ruby | 2.10 以上 |
| Jupyter Notebook | — |

※Ruby と jupyter notebookの道入がまだの人は以下の記事よりそれぞれのインストールを済ませて下さい。

・Rubyのインストール
[【完全版】MacでRails環境構築する手順の全て](https://qiita.com/kodai_0122/items/56168eaec28eb7b1b93b)

・Jupyter Noteboookのインストール

① ana

元記事を表示

Streamlit による売上データの分析例

# 目的

本項では [Kaggle](https://www.kaggle.com/aungpyaeap/supermarket-sales?select=supermarket_sales+-+Sheet1.csv) に登録されている売上原価の集計・可視化に取り組む。このデータセットにはある会社の支店 A、B、C の売上原価(三ヶ月分)が含まれている。需要予測等のデータ分析実務に近づけるため、支店間の売上原価を比較するダッシュボードの作成を目的とする。今回は [streamlit](https://qiita.com/keisuke-ota/items/a18f158389f1585a9aa0) を用いて、集計時のパラメータを GUI で操作できる interactive な図を作成する。

# データの形式
以下のように請求書単位で売上原価(cost of goods sold)の履歴が記録されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612858/c22c51d4-

元記事を表示

MySQLdbで文字コードエラー

こんなエラー

“`
Traceback (most recent call last):
….
cursor.execute(sql)
File “/home/user/.local/lib/python3.6/site-packages/MySQLdb/cursors.py”, line 188, in execute
query = query.encode(db.encoding)
File “/usr/lib/python3.6/encodings/cp1252.py”, line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: ‘charmap’ codec can’t encode characters in position 486-487: character maps to

“`

対策
デフォルトでlatin-1を使うらしいので、接続時に明示的にエンコードコード方法

元記事を表示

Pythonで学ぶ制御工学 第2弾:制御モデルの例

# #Pythonで学ぶ制御工学< 制御モデルの例 >

##はじめに
基本的な制御工学をPythonで実装し,復習も兼ねて制御工学への理解をより深めることが目的である.
その第2弾として制御モデルの例を扱う.

##システム
システムには大きく分けて2つある.

**動的システム**
    過去の状態に影響を受けるようなシステム

**静的システム**
    過去の状態に依存しないようなシステム

制御対象は多くの場合,動的システムであり,ここで扱うのも動的システムである.

##制御モデル
制御を考えるためには,制御モデルを構築できなければならない.以下では,4つの例を示して,制御モデルとはどのようにして求められるのかということへの理解を深める.なお,図において,緑の背景で示したものが制御モデルである.

####制御モデル①:台車のモデル
次に台車と条件を示した図を示す.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951300/ac134ffd-312f-11ef-495

元記事を表示

A – Repeat ACL, B – Balance, C – Exam and Wizard

2021/2/12
くじかつ精進

##[A – Repeat ACL](https://atcoder.jp/contests/abl/tasks/abl_a)

O(1)

“`python:python
N = int(input())

S = “”
for i in range(0, N):
S += “ACL”

print(S)
“`

##[B – Balance](https://atcoder.jp/contests/abc129/tasks/abc129_b)

O(N)

“`python:python
import math
import itertools

N = int(input())
W = list(map(int, input().split()))

S1 = 0
S2 = sum(W)
res = 10000
for i in range(0, N):
S1 += W[i]
S2 -= W[i]
res = min(res, abs(S2-S1))

print(res)
“`

#

元記事を表示

OTHERカテゴリの最新記事