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

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

メモ: terminal でグラフ描画 termplotlib

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

“`sh
apt install -y \
python3-scipy \
python3-seaborn \
python3-gnuplot \
python3-pip

pip install termplotlib
“`

## グラフ描画

“`py:graph.py
import termplotlib as tpl
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x) + x
fig = tpl.figure()
fig.plot(x, y, width=60, height=20)
fig.show()
“`

![スクリーンショット_2020-09-29_11-43-09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25728/37765fbc-586b-2b3a-f334-336bbac721c7.png)

元記事を表示

MultiIndexの使い方(個人的な備忘録)

## MultiIndexとは
詳細はこちら↓
https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html
ドキュメントによれば,階層型のインデックスであり,高次元のデータを操作する場合に使えるとのこと(ざっくり)

pandasで3次元のデータ構造を扱うPanelが廃止されたのここらで扱い方を確認する.
個人的な備忘録のため網羅性は皆無である.そのため,不明な点がでてきたら適宜調べていくしかない.

## 環境など

python 3.7.7
pandas 1.1.1
実行環境:jupyter notebook

## データの確認
さすがに研究用のデータは使用できないので,適当にサンプルデータを作成していく.

### データの作成

“`
# pandasのimport
import pandas as pd

# データ作成
array =[[‘cat’,’cat’,’cat’,’cat’,’cat’,’dog’,’d

元記事を表示

Python3.6.10でDeepFloorPlanを動かしてみた

# はじめに
ICCV2019で発表された「Deep Floor Plan Recognition Using a Multi-Task Network with Room-Boundary-Guided Attention」(以下、DeepFloorPlan)をpython3版に書き直して動かしてみました。[[paper](https://openaccess.thecvf.com/content_ICCV_2019/papers/Zeng_Deep_Floor_Plan_Recognition_Using_a_Multi-Task_Network_With_Room-Boundary-Guided_ICCV_2019_paper.pdf), [github](https://github.com/zlzeng/DeepFloorplan), [github(python3版)](https://github.com/c-makitahiroki/DeepFloorplan)]

タスクが具体的でビジネス的なニーズがありそうだなと思って気になってました。
今回の記事では、DeepFl

元記事を表示

【密度の可視化】plotlyで動的な可視化をする【python3,hist,kde,join,contour,heat map】

python==3.8
plotly==4.10.0

#ヒストグラム

積み上げるか、透かすかはbarmodeで操作する

##透かし

“`python
import plotly.graph_objects as go
df = px.data.tips()

fig = px.histogram(df, x=”total_bill”, y=”tip”, color=”sex”, marginal=”rug”, hover_data=df.columns)
fig.update_layout(barmode=’overlay’)
fig.update_traces(opacity=0.75)
fig.show()
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/f19c9534-43e2-bb92-4af9-82f61caf2ab6.png)

##積み上げ

“`python
import plotly.graph_o

元記事を表示

ラズパイOS64bitでVScodeのインテリセンスが動かない!(Python)

初めまして。この記事が初投稿になります。
今回はpylintがうざくて、とあるサイトを見て設定したらラズパイでVScodeのインテリセンスが効かなくなってしまったので、原因と対処法、根本的なエラーの対処法を書いていこうと思います。

# 環境
– ラズパイ4
– ラズパイOS 64bit
– code-oss
– Pythonプラグイン
– pylint

#ディレクトリ構成
“`
workspace/
┣ utils/
┣ __init__.py
┣ sub.py
┣ __init__.py
┣ main.py
“`
とりあえずこんな感じかな
`main.py`に

“`py
from utils import sub
“`
と記入したところ、
`Unable to import utils pylint(import-error)`
と表示される。
なにこれ!うざい!出てくんな!
といくら言っても意味がないので、調べてみた。
そしたら`pylintrc`を作成して
`init-hook=”./utils”`
と記入しろ

元記事を表示

【Python3】画像のリサイズをフォルダー単位で行いたいときに使えるコード

備忘録やOUTPUT的な意味での蓄積(一気に作った系はこれで終わり)

#作成目的
作業用のサイズをすべて変換したいときが定期的に起こったので、作業簡略化のために作成

#作成環境
・windows10
・Anaconda3
・python3.7
・Jupyter Notebook

#ドキュメント
①resizeしたいフォルダー名を入力(png_folderの一つ上のディレクトリ)
②folderがなければcurrent_folder内に、resize_folder を作成する
③幅と高さを指定し、画像をリサイズ(入力をしなかった場合Errorになる)
④すでに同じフォルダー名がある場合、誤操作を防ぐためにErrorになる

#ライブラリの読み込み

“`python:All Necessary Libraries.py
import numpy as np
import os
import pathlib
from pathlib import Path
from glob import glob
from PIL import Image
from tqdm

元記事を表示

[AWS]EC2,RDS,Djangoを使ってみた。1から環境構築

##はじめに

今回初めてバックエンドを触ることになり、かなり手惑いました。
次回作成時この記事を見ればすぐに作成できるようにと思い、**自分用または同じように手惑っている方**の為に作成しました。

初心者ですので間違っている箇所や、考え方がおかしい場所があるかもしれません。その際は、コメント欄で教えていただけると幸いです。

“`
$ <- 自分のPCターミナルでのコマンド [ec2-user] $ <- EC2にログイン中でのコマンド MySQL > <- MySQLにログイン中でのコマンド # <- 私のコメント >>> <- 実行結果(出力値) ``` ##前提条件 - AWSアカウント作成済 ##[1] AWS環境設定 ###[1.1] VPC作成 VPCとはユーザー専用のプライベートなクラウド環境を提供するサービスのことです。 例えば、EC2同士を内部的に通信したい場合や、RDSとやり取りをしたり、内部と外部のネットワークを繋いだりと、多くのAWSはVPC

元記事を表示

【Python3】画像の拡張子を一気に変更したいときに使えるコード

備忘録やOUTPUT的な意味での蓄積

#作成目的
作業用の拡張子をすべて変換したいときが定期的に起こったので、作業簡略化のために作成

#作成環境
・windows10
・Anaconda3
・python3.7
・Jupyter Notebook

#ドキュメント
①拡張子を変更したいフォルダ名を入力
②folderがなければcurrent_folder内に、[拡張子]_folderを作成する
③すでに同じフォルダ名がある場合、誤操作を防ぐためにErrorになる

※今回はpngに変換するコードを記載する

#ライブラリの読み込み

“`python:All Necessary Libraries.py
import pathlib
import os
import shutil
import pprint
import numpy as np
from glob import glob
from PIL import Image
from tqdm import tqdm
from pathlib import Path
“`

#PG

“`pytho

元記事を表示

【散布図と3D plotと回帰平面】plotlyで動的な可視化をする【python,scatter,3D,surface,pair,joint】

![33dd.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/b66232ed-1ff7-65f6-49be-6bc3fd3967bb.gif)

python==3.8
plotly==4.10.0

公式のギャラリーを参考にオプションを弄ってみる記事

#scatter(散布図)

##基本

“`python
import plotly.express as px

df = px.data.iris()
fig = px.scatter(df, x=”sepal_width”, y=”sepal_length”, color=”species”, title=”iris scatter plot”)
fig.show()
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/4c5f50fe-44f4-02f2-be4d-948aec81161f.png)

元記事を表示

Tkinterで描画情報を設定した時間ごとに取得する

#はじめに
PythonでGUIプログラムを書けるライブラリTkinter.
このライブラリでは、中にあるCanvasを使って絵を描く事が出来る.

Canvasを使って絵を描く機会は人間誰しもあると思うが、Canvasに書いた情報を設定した時間ごとに取得するというプログラムは調べてもはっきりとわからなかった.
備忘録も兼ねて、プログラムを書いていく.

ちなみにCanvasを使って絵を描くというプログラム自体は以下のサイトを参考にした.
[Pythonのcanvasにマウスで線を描いてみる](https://water2litter.net/rum/post/python_tkinter_canvas_draw/)

#実行環境
* macOS Catalina 10.15.3
* tkinter 8.6
* Pillow 6.2.1

#コード
“` python3
#!/usr/bin/env python
# -*- coding: utf8 -*-
import tkinter
import time
from PIL import Image, ImageDraw

cl

元記事を表示

pythonでdiscordボット raspberry pi zero で[備忘録]

python install

[How to install Python 3 – Install Python 3 | Raspberry Pi Projects](https://projects.raspberrypi.org/en/projects/generic-python-install-python3)

“`shell_session
# sudo apt update
# sudo apt install python3 idle3
“`

and pip
[Installing Python packages – Raspberry Pi Documentation](https://www.raspberrypi.org/documentation/linux/software/python.md)

“`
sudo apt install python3-pip
“`

あとは写経
[Pythonで簡単なDiscord Botの作り方 – Qiita](https://qiita.com/PinappleHunter/items/af4ccdbb04

元記事を表示

Raspberry Pi で SwitchBot 温湿度計の値をとる

# 目的
掲題の通りです。以下の記事を存分に参考にしています。ありがとうございます。コードがほぼ同じなのでご指摘をいただいた場合は即削除します。

> SwitchBot温湿度計の値をRaspberryPiでロギング
> https://qiita.com/c60evaporator/items/7c3156a6bbb7c6c59052

私の環境で一部動かない箇所がありましたので、私的なログとして動作したコードを置いておきます。

# 環境

* Raspberry Pi 4 Model B Rev 1.2
* SwitchBot 温湿度計 (https://www.switchbot.jp/meter)

|![IMG_5275.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82774/c92d8647-24b5-dc6d-befc-51f23989898c.jpeg)|
|—|

# SwitchBot 温湿度計の Mac Address を確認
スマートフォンのアプリケーションから確認できま

元記事を表示

変数を渡すタイプのPythonのデコレータについての考察

Pythonで開発をしていると、関数の前後に共通処理を挟みたくなるケースが良くあるかと思います。その場合に良く使われるのはデコレータ(関数の上の行にアノテーションを付けるやつ)ではないでしょうか。この記事では、デコレータの基本的な使い方と、後半では変数を渡せるタイプのデコレータについて考察してみたいと思います。
※本記事の動作検証には、Pythonのバージョン3.7.3を使用しています。

一番シンプルなデコレータは、以下のような実装です。

“`python

def decorator(func):
def decorated(*args, **kwargs):
print(‘decorated 開始’)
func(*args, **kwargs)
print(‘decorated 終了’)
return decorated
“`

このデコレータを実際に使う場合には以下のようにします。

“`python

@decorator
def sample(name):
print(‘{}が動作しま

元記事を表示

docker centosでpython3をインストールする方法

##はじめに
この記事ではAWSのAmazon Linux2を使用して次のことを実行します。
1. dockerのインストール
2. docker imageであるcentosを起動する
3. 2で起動したコンテナ内でpython3をインストール
##1. dockerのインストール

まず以下のようにyumのアップデートを行います。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo yum update -y
“`

次にdockerをインストールします。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo amazon-linux-extras install docker -y
“`

インストールが完了したら、docker daemonを起動します。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo service docker start
“`

ec2-userをdockerグループに追加します。
これは必須ではないですが、以降“`sudo“`なしで“`do

元記事を表示

初心者がPythonでウェブスクレイピング(4) – 2

それでは[前回](https://qiita.com/inoken0926/items/db1a828465019e205e5e)作成したCloud Source RepositroiesのリポジトリにスクレイピングのPGMを追加していきます。

#Pythonでのウェブスクレイピング学習のロードマップ
(1)ローカルでとりあえず目的のブツのスクレイピングに成功する。
(2)ローカルでスクレイピングした結果をGoogleスプレッドシートに連携する。
(3)ローカルでcron自動実行を行う。
(4)クラウドサーバー上での無料自動実行に挑戦する。(Google Compute Engine)
  (4)-1 クラウドにテスト用PGMを載せて、CloudShell上で正常稼働させる
  (4)-2 スクレイピングPGMをリポジトリに追加し、CloudShell上で正常稼働させる。 ←いまココ
  (4)-3 ComputeEngineのVMインスタンスを作成して、スクレイピングを自動実行させる。
(5)クラウド上で、サーバーレスでの無料自動

元記事を表示

DjangoでRest Apiを作成する。

#はじめに
DjangoでRESTAPIを作る方法を学んだので、深く理解するために
さらに肉付けしてアウトプットします。
__今回環境構築の説明は省きます。__
__以下の記事で構築した環境を使っているので、必ず参照ください。__
[Anacondaで仮想環境を作り、PyCharmと紐付ける。](https://qiita.com/hayashi0207/items/8bdc0c232c4203c92d6f)
またあらゆる任意の名前は上記の記事で利用したものを前提にしていますので、あらかじめご了承ください。

#事前準備&環境
・Crome ModHeader
・Postman
・Anaconda Navigator
・PyCharm CE
・MacOS

#目次
1.モデルの作成
2.シリアライザーの作成
3.ビューの作成
4.動作確認
5.おまけ:APIをフロントエンドから利用できるように設定

#1.モデルの作成
モデルとはデータベースの設計、作成、操作(いわゆるORM)までをPythonでできるものです。
テーブル名はclass,カラムmodelsで提供されているフィールドを使

元記事を表示

【plotlyの描画構造の話】plotlyで動的な可視化をする【python】

plotlyの構造について理解する話

#plotlyとは

plotlyはJavaScript,R,Pythonで利用可能な動的グラフを作るパッケージです

動的グラフというのは以下の様に動かすことができるグラフのこと

![aaa.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/cbb55ca0-6738-83a9-f62d-449a6a68810d.gif)

他の関数と同じく指定された引数を用意することで動的グラフが簡単につくることができます
他のplotlyと区別するためJavascript「plotly.js」pythonは「plotly.py」と呼ばれたりもします

#plotlyの中身と動き

plotlyはpandasのようなデータフレーム、もしくはnumpyのarrayを一度json形式に変形して保持し、
javascriptによってhtmlとして実行・保存できるようになっています

テキストエディターで以下のようなhtmlを作成するとplotlyのbarplotが

元記事を表示

Pythonで正規表現を使ってASCII以外を置換する

この記事ではPython3を使っています。

#コード

“`test.py
import re

text = ”’挫折を経験した事がない者は、
A何も新しい事に0 1挑戦したことが無いということだ。
ヲabc123!=*Z
- アルベルト・アインシュタイン -”’
after = re.sub(‘[^!-~\\s]|[ ]’, ‘○’, text)

print (after)
“`

#実行結果

“`
○○○○○○○○○○○○○○
○○○○○○○○0 1○○○○○○○○○○○○○○○○
○abc123!=*○
-○○○○○○○○○○○○○○○○-
“`

#参考
* [Pythonでre.sub を使用して正規表現で平仮名、カタカナ、漢字を置換|dot blog](https://dot-blog.jp/news/python-re-sub-japanese/)
* [文字一覧 (ASCII) – instant tools](https://tools.m-bsys.com/data/charlist_ascii.php)
* [正規表現サンプル集](https

元記事を表示

Pythonの抽象クラス(ABCmeta)を詳しく説明したい

# 0.はじめに

Pythonの抽象クラスが思いのほか特殊だったので
メタクラスの説明も踏まえて少しばかり丁寧に解説したい

# 1.ABCmetaの基本的な使い方

PythonのAbstract(抽象クラス)は少し特殊で、メタクラスと呼ばれるものに
ABCmetaを指定してクラスを定義する(メタクラスについては後ほど説明)

“`python
from abc import ABC, ABCMeta, abstractmethod

class Person(metaclass = ABCMeta):
pass
“`

ちなみにABCクラスというのもあってこちらはmetaclassを指定せず
継承するだけなので基本こっちの方が分かりやすい

“`python
class Person(ABC):
pass
“`

抽象化したいメソッドに@abstractmethodを付ける

“`python
@abstractmethod
def greeting(self):
pass
“`

継承したクラスで実装する

“`python
class

元記事を表示

[2020年9月版] PythonでGmail APIを利用するまでの手順を解説

今回はPythonでGmail APIを利用するまでの手順を解説します。
Gmail API を利用するまでに、APIを有効化したり、認証情報を作成したり、ライブラリをインストールしたりとやることが多いので、備忘録として書きました。
# Google Cloud PlatformでGmail APIを有効化
 Gmail APIを利用するにはGoogle Cloud Platform(GCP)でAPIを有効化する必要があります。GCPにはこちら( https://console.cloud.google.com/ )からアクセスしてください。

初めてアクセスすると下記の画面が出てくると思うので利用規約に同意し、「同意して実行」をクリックしてください。
![Gmail API1 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/e4187430-dfcf-6eff-171c-678cb9c33ce3.png)

「プロジェクトの選択」から
![Gmail API2 (2).png](h

元記事を表示

OTHERカテゴリの最新記事