Python3関連のことを調べてみた2020年06月14日

Python3関連のことを調べてみた2020年06月14日

Python3: coreserver で mysql を使う

coreserver は共用サーバーなので、色々と制約があります。root は使えません。

ライブラリーのインストール

“`bash
mkdir my-space
python3 -m pip install mysql-connector –target ~/my-space
Collecting mysql-connector
“`

サンプルプログラム

“`py:server_version.py
#! /usr/bin/python3
#
import sys
#
sys.path.append(‘/virtual/example/my-space’)
import mysql.connector
print (“*** start ***”)
#
host_aa=’localhost’
user_aa =’scott’
password_aa = ‘tiger’
data_base = ‘city’
conn = mysql.connector.connect(user=user_aa, password=password_aa, \

元記事を表示

データのプロット|Pythonでグラフ描画

# 2本の折れ線グラフ
Pythonで折れ線を描画しました。
点などを描画することをプロット(plot)と言い、データをプロットした図がグラフです。
MatplotlibはPythonのためのオープンソースライブラリになります。
そのMatplotlibをimportして作図してみました。
最後に必ずplt.show()メソッドを忘れないようにします。
### 1)同一枠に2本の折れ線

スクリーンショット 2020-06-14 0.28.40.jpg

– サンプルコード1:Python

“`Python:matPlt.py
import matplotlib.pyplot as plt

x = [100, 200, 300, 400, 500, 600]
y1 = [10, 20, 35, 50, 80

元記事を表示

【JDLA G検定】出題単語集

# G検定 単語集について
G検定受験時にまとめた単語集を共有します。参考してください。

問題文と回答を[単語帳メーカー](https://tools.tangomaker.net/)でリストにした上で学習すると効率が良いかと思います。

情報追加、内容修正等コメントいただけると助かります。
試験時の使用は自己責任でお願いします。

G検定 2020 #1合格までの経緯、準備に関しては以下に詳細記載しています。

[【JDLA G検定】 受験のすすめ](https://note.com/saka1231/n/na76a5f7817da)

#単語集
| 問題文

元記事を表示

ゼロから始めるLeetCode Day55「22. Generate Parentheses」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

PythonでPubChemを利用する方法

# はじめに

[PubChem](https://pubchem.ncbi.nlm.nih.gov/)は代表的な化合物データベースです。
ここでは、PythonでPubChemのデータを検索する方法を解説します。

# 化合物IDや化合物名を検索

化合物名で検索し、検索結果として得られたレコードのCIDやIUPAC名を取得したい場合は、`get_compounds`メソッドが使えます。

“`python
import pubchempy as pcp

glycine_pubchem = pcp.get_compounds(‘glycine’, ‘name’)
result = {}

for record in glycine_pubchem:
result[record.cid] = record.iupac_name

print(result)
“`

上の例では、辞書`result`のキーにCIDが、値としてIUPA名が格納されます。

# 物性値や構造情報を取得

分子量やCanonical SMILESなどの情報を取得したい場合には、`get_pr

元記事を表示

【AWS】初めてサーバーレスWebAPIを作った話

#始まり
以前、4年ほど勤めていた会社では、Windows向けのスタンドアローンアプリケーションしか開発したことがありませんでした。
退職後、Pythonを使った機械学習の勉強を始め、作成したプログラムをどう生かすか考えた時に、行きついた先がWebAPIでした。
とは言え、WebAPIを作ることに関してほとんど知識がなく(WebAPIという言葉すら知らなかったくらいです)、下のようなサービスを作りたいなぁ…くらいの構想からスタートしました。
![Untitled Diagram Base.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/358498/d0fe418e-74ed-62bc-3080-63b4acf089d7.png)
図を見たらわかりますが、技術も言葉もほぼ知らない、右も左もわからない状態でした。(これが一番つらかったです)

#完成図
いろいろ四苦八苦して、最終的に以下のようなアーキテクチャとなって、初めてのWebAPIが完成しました。
方針として、サーバーを自分で用意しないで、AW

元記事を表示

MapboxのMap Matching APIでGPSデータを補正するツールを作成しました(Mapbox Map Matching API)

# 目的
[Mapbox](https://www.mapbox.com/)の[Map Matching API](https://docs.mapbox.com/api/navigation/#map-matching)を用いて、GPSデータを補正するツールを作成してみました。

### [Map Matching API](https://docs.mapbox.com/api/navigation/#map-matching)
– MapboxのAPIのうち、Navigation serviceに分類されるMap Matching APIを使用しています。
– Map Matching APIは、誤差が含まれるGPSデータ(緯度、経度)を道路ネットワーク上にスナップし、確からしい位置に補正するAPIになります。

# 実行環境
– この記事ではPython3、MapboxのMap Matching APIを使用しています。
– MapboxのMap Matching APIを使用するには、Access Tokensが必要になります。
– [Mapboxのサイト](https://

元記事を表示

Python スライスを使って文字列の一部を切り取る

#はじめに
Pythonで文字列を切り取る際に便利なスライス機能。
“`[]“`内で“`:“`を使い、切り取る文字を指定するが、説明の多くがいまいちピンと来ませんでした。
ここでは自分なりの解釈を掲載してみようと思います。

#スライス “`[]“`
“`python
str_1 = ‘python’
print(str_1[2:6])
# ‘thon’
“`
例えば、文字列`’python’`の`thon`のみを取り出したかった場合、スライスを使い`[2:6]`と指定すればOKな非常に便利な機能。
しかし、ここでその数字の設定方法に違和感を感じます。

なぜなら、スライスは[開始位置:終了位置]で指定しますが、開始位置は文字列を0から数えた数字、終了位置は文字列を1から数えた数字、になるからです。
慣れればなんてこと無いのだと思いますが、全然しっくりこない。

###捉え方を変えてみる(回りくどくする)
自分なりの解釈で書き変えたものが以下です。

“`python
str_1 = ‘python’
start = 2
count = 4
print(str_1[s

元記事を表示

ESP-32でMicroPythonをはじめよう

マイコンや電子工作から始まった人にとってC言語は当たり前かもしれませんが
フロントエンドから始めた方にC言語は敷居が高いようです。
そんな中で組み込み系のPythonとしてMicroPythonがあります。

今回は、ESP-32でMicroPythonを始める方に向けて導入部を説明します。

なお、日本語ドキュメントがありますので、こちらを参照ください。
https://micropython-docs-ja.readthedocs.io/ja/latest/esp32/tutorial/intro.html

##環境
・Windows10
##使用ソフト
・コマンドプロンプト
・TeraTerm

・pip (python3)
##ターゲットボード
ESP-32 Devkit-C

Macの人は、こちらが良いかと
https://qiita.com/moomooya/items/ea30fe1113b21ebc9329

##バイナリファイルのダウンロード
以下サイトからバイナリファイルをダウンロードします。
http://micropython.org/download/esp

元記事を表示

Pythonを用いた計測器制御 [pyvisa]

# はじめに
pythonを用いた計測器制御の方法を最近知りました。
有名な計測器制御ソフト(LabV*EWなど)と比べて、汎用性・自由度が高いことに感動を覚えています。
具体的なサンプルプログラムなどは後日まとめるとして、ここでは使用頻度の高いpyvisaのコマンドを列挙します。
自分用の備忘録なのであしからず。

参考ページ: PyVISA
https://pyvisa.readthedocs.io/en/latest/

# 環境
python3.7.7
Windows10

# 環境構築
ここではPythonはインストール済と想定しています。
###NI-VISAのインストール
通信を行うために必要なもの。National Instrumentsが無償提供するものが一般的。自分の使用するPCのOSにあったものをインストールする。他にもPyVISAでは、他社提供のVISAでも動く。
(Keysight VISA, R&S VISA, tekVISA、など)

###PyVISAのインストール
pip(pip3)から入れる。

“`
$ pip install pyvisa
`

元記事を表示

OpenCVを実行するとでてくるFailed to load module “canberra-gtk-module”というエラーの対処法

OpenCVを書いたプログラムを実行すると以下のようなエラーがでてきます。このエラーがでていても動かないことはないのですが、対処法を見つけたので紹介したいと思います。

“`
Gtk-Message: 15:45:02.507: Failed to load module “canberra-gtk-module”
“`
![o.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616944/a61f8256-c39b-874c-0543-aae4fc031135.png)

これはズバリターミナルで以下のように実行し

“`
sudo apt-get install libcanberra-gtk*
“`

![o2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616944/47c13bb2-cd31-dd2f-8bde-73b271ba65df.png)

このように終わればエラーはなくなります。

元記事を表示

Python-decoupleを使ってDjangoの設定ファイルを管理する

# なぜ必要なのか

基本的に多くの導入記事では設定ファイルに各種設定をハードコーディングしているが、いわゆるSECRET_KEYや環境変数などを直接ハードコーディングするのは運用的、セキュリティ的な観点などから実用的に考えるとよろしくない。

なので設定を隔離できるようなモジュールを導入し、別に管理してそこから読み込むというのがハードコーディングを避ける手段となる。
Pythonでは[Python-decouple](https://github.com/henriquebastos/python-decouple)というモジュールがあるため、Djangoでの`settings.py`を例に使ってみようと思う。

なお、今回作成したプロジェクトは[こちら](https://github.com/Kuehar/decoupleproject)から見る事ができるので気になる方はどうぞ。

# 導入

インストールし、

“`
$ pip install python-decouple
“`

“`
$ django-admin startproject decoupleproje

元記事を表示

Raspberry piとPythonでWAVファイルを再生する

# 背景

RaspberryPi上で音声ファイル(wav)を流したい!というシーンに遭遇しました。
WEBブラウザ上で再生したことはあるのですが、物理マシン上で音声の再生なんてできるの?と思ってましたが、さすがPython。できました。

# パッケージインストール

まずは動作に必要なパッケージをインストールしていきます。

## PyAudio

PyAudioはpipだとうまく入らないのでaptで入れます。
python3で使うので`python3-pyaudio`を指定しましょう。

“`shell
sudo apt-get install python3-pyaudio
“`

## WAVE

wavファイルを扱うためのパッケージをインストールします。

“`shell
pip3 install wave
“`

# 完成コードがこちら

“`python
import pyaudio
import wave

CHUNK = 2048 # 1024だとoverflowする
audio = pyaudio.PyAudio()

wf = wave.open(pl

元記事を表示

現在の気象データを取得し自動更新しながらGUIで表示する方法

#0.最初に

今回作るものがどういう感じで動くのか見てみたい方は、[こちら](https://youtu.be/gLE4XS3FKbE)(youtubeの動画)でどうぞ。

#1.OpenWeatherMapAPIの設定
まず[こちら](https://openweathermap.org/)のOpenWeatherMapにアクセスします。
![w1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616944/b4c5c994-b5b7-9906-dc60-f53729c40f9e.png)
そして、ログインをするとこのような画面が表示されるのでそこの上のAPIのところをおします。
![Polish_20200613_071205710.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616944/52e8dabf-a1da-592f-b45d-27579a017a3e.png)
そして、現在の気象データを取得するために

元記事を表示

Herokuでデプロイする際に出たSlug Sizeエラーの解決方法

# はじめに

機械学習を用いたアプリをHerokuでデプロイしようとしたところ、下のようなエラーが出ました。

“` python
Compiled slug size: 625.5M is too large (max is 500M)
“`
「Slug Sizeを減らす方法」で検索すると下記の解決方法①についてはたくさん出てくるのですが、それでは解決できなかったので、私が検索しまくって辿り着いた解決方法と合わせて紹介します。

# 解決方法①
「Slug Size too large」などで検索すると一番よく出てくる解決方法です。
まず、heroku-repoというライブラリをインストールします。

“`
heroku plugins:install heroku-repo
“`

以下のコードでGitレポジトリに残っているキャッシュが消され、Slug Sizeが減ります。<アプリ名>には自分のアプリ名を入れてください。

“`
heroku repo:gc –app <アプリ名>
heroku repo:purge_cache –app <アプリ名>
“`

元記事を表示

[Python] 地道にTF-IDFを計算してみた

TF-IDFのメモ.
TfidfVectorizerを使ったほうがはるかに簡単 なのですが,勉強も兼ねて.
おかしなところがあれば,優しく教えてください.

計算の対象となる文書

“`hoge.txt
white black red
white white black
white black black black
white
“`

“`
#準備
print(word_set)
[‘black’, ‘red’, ‘white’]

print(doc_words)
[[‘white’, ‘black’, ‘red’], [‘white’, ‘white’, ‘black’], [‘white’, ‘black’, ‘black’, ‘black’], [‘white’]]
“`

“`
def tokenizer(word_set, doc_words):
token_doc = []
for words in doc_words:
temp =

元記事を表示

サイドチェストを見逃さない!(ジェスチャ認識)

# 概要
ジェスチャ認識をするための記録です。
一番認識したかった[ボディービルのポーズ](http://cyoshida.web.fc2.com/01taikaicontents/kihonpose/kihonpose.htm
)を認識しました。
[手認識が実用レベルに到達した件](https://qiita.com/mbotsu/items/3e43be59de87e9e5a146)を読んで、Move Mirrorについての[記事](https://medium.com/tensorflow/move-mirror-an-ai-experiment-with-pose-estimation-in-the-browser-using-tensorflow-js-2f7b769f9b23)を参考に実装を行いました。
[posenet-python](https://github.com/rwightman/posenet-python)にコードを追加する形でジェスチャ認識を行っています。
試してくださる方はposenet-pythonをダウンロードして、フォルダ上に私の書いたファイルを

元記事を表示

Web カメラで得た画像を Streamlit 上で表示する

# 本日は

– 前回は [Streamlit](https://docs.streamlit.io/en/latest/api.html) でデータの可視化アプリを作りました。
– `streamlit.image` で画像を表示させることができました。
– 人間は欲張りなので単数のオブジェクトができたら複数のこと、連続して単数のオブジェクトを処理できるか考えたくなるものです。
例えば Web カメラで撮像した画像を深層学習のモデルの入力として利用しその結果を表示するというようのなことができるのではないでしょうか? やりましょう。

# やりたいことはな〜んだ?

– カメラから画像を取得
– モデルの用意
– 画像を適切に前処理しそれをモデルに投げる
– モデルの出力をStreamlit上に表示

これのフローが構築できればデモ作成が捗りそうですね。

![undefined]()

![error]()

# 作りましょう

– ここでは画像分類タスク (Image Classification) を実行するデモを作りましょう。 `The fastest way to bu

元記事を表示

ゼロから始めるLeetCode Day54 「1290. Convert Binary Number in a Linked List to Integer」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

Python3学習1

前回は開発環境を仮想環境で整え、Python3が動作するのを確認するところまで行いました。
今回は、Python3で入力など行っていきたいと思います。

# 初めに

コンソール画面でPython3と入力するとPythonのコーディングが可能になりますので
ここでコーディングを行っていきたいと思います。

“`
python3
>>>
“`

## 出力

printで囲われた内容が出力されます

“`
>>> print(“任意”)
任意
“`

### 四則演算
– +

“`
>>> print(3 + 4)
7
“`

– ー

“`
>>> print(5 – 1)
4
“`

– /

“`
>>> print(10 / 2)
5.0
“`
– *

“`
>>> print(4 * 4)
8
“`

– 文字+数値

“`
>>> print(9 + ”4”)
File ““, line 1, in
TypeError: unsupported operand type(s) for +: ‘int’ and ‘

元記事を表示

OTHERカテゴリの最新記事