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

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

manimの作法 その46

#概要

manimの作法、調べてみた。
作品、作ってみた。
VJです。

#生成した動画

youtubeにアップしたら、「著作権侵害の申し立て」が、付いた。

以上。

元記事を表示

[python] Dataframeから複数条件で行を抽出する

## やりたいこと
* “`dataframe“`から複数条件で行を抽出したい
* データには欠損値が含まれる

## 試してみたこと
データ抽出にはいくつか方法があるようだけれど今回は下記の2つで試した
1. “`pandas“`の“`query“`関数を使用する
2. “`query“`を使わないで列名を使用する

## サンプルデータ
| ID | NAME| ADDRESS_1| ADDRESS_2| CORPORATIONNUMBER| COUNTRY|
|:-:|:-:|:-:|:-:|:-:|:-:|
| 12345 |まるばつ産業 | 東京都中央区 | 東京都千代田区 | 25671900 | JAPAN |
|26890 |どれみ物産 | NaN | 東京都港区 | 10008765 | JAPAN |
| 66635 | abc corporation | NaN | NaN | 57682399 | USA |

## 抽出条件
1. COUNTRYがJAPANであること
2. ADDRESS_1があり、かつ

元記事を表示

manimの作法 その45

#概要

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

#サンプルコード

“`
from manimlib.imports import *

class dSurface(ParametricSurface):
def __init__(self, **kwargs):
kwargs = {
“u_min”: -1.5,
“u_max”: 1.5,
“v_min”: -1.5,
“v_max”: 1.5,
“checkerboard_colors”: [GREEN, BLUE],
“checkerboard_opacity”: 0.5
}
ParametricSurface.__init__(self, self.func, **kwargs)
def func(self, x, y):
return np.array([x, y, x**2 + y**2])

class test(ThreeDScene):
def construct(self):
sel

元記事を表示

HTMLファイルをpythonでPDF、イメージ出力

# HTMLファイルをPythonでPDF、イメージ出力

ソフトウェア、パッケージのインストール

wkhtmltopdf … https://wkhtmltopdf.org/
wkhtmltopdf … https://github.com/qoda/python-wkhtmltopdf
pdfkit … https://github.com/JazzCore/python-pdfkit
imgkit … https://github.com/jarrekk/imgkit

## Dockerイメージ作成

1. `wkhtmltopdf` `pdfkit` `imgkit` は `pip install xxx` しバージョン指定して `requirement.txt` に追加
2. `apt-get install -y wkhtmltopdf` wkhtmltopdfをインストール
3. そのままだとPDF、イメージ出力で日本語が表記されないため `IPAexfont` をダウンロードし `/usr/share/fonts` に追加

“`Dockerfi

元記事を表示

Python: 配列の中身をファイルに保存・読み込み

## ファイル保存
pickleモジュールを利用して配列の中身をファイルに保存します。

“`python
>>> import pickle
>>> a = [1,2,3]
>>> f1 = open(“aaa”, “wb”)
>>> pickle.dump(a, f1)
>>> f1.close()
“`

## ファイル読み込み
保存したデータを配列として読み込みます。

“`python
>>> f2 = open(“aaa”, “rb”)
>>> b = pickle.load(f2)
>>> b
[1, 2, 3]
>>> f2.close()
“`

元記事を表示

FirestoreのバックアップをCloud Functionsで作成する

Firestoreは何かあったときのために自分でバックアップとっておく必要があるっぽい。
FirestoreのフルバックアップをGCSに保存する用のCloud Functions(Python)を作成する。

#ソース
ランタイム環境変数として以下2つを設定

– projectid:プロジェクトIDをセット
– gcs_bucket:「gs://バケット名」の形でセット

“`python3:main.py
from google.cloud import firestore_admin_v1
import os

def firestore_backup(request):

projectid=os.environ[‘projectid’]
gcs_bucket=os.environ[‘gcs_bucket’]
request_body={“name”:”projects/{}/databases/(default)”.format(projectid),”output_uri_prefix”:gcs_bucket}

firestore = firestore

元記事を表示

DataFrameレシピ: 行列指定して出力

PandasのDataFrameをいつもググりながら使っていましたが、同じことをやろうとしてもいくつか方法があり、整理をしてみました。Jupyter前提で、行と列を指定して内容を見る方法の整理です。
[「pandasで任意の位置の値を取得・変更するat, iat, loc, iloc」](https://note.nkmk.me/python-pandas-at-iat-loc-iloc/)を参考にしました。

# 環境
2021年2月にGoogle Colaboratory使っています。そのため、Pythonやそのパッケージはそのままのバージョンで使っています。

|種類|バージョン|
|:–|:–|
|Python|3.6.9|

上記環境で、以下のPython追加パッケージバージョンでした。

|種類|バージョン|
|:–|:–|
|jupyter|1.0.0|
|numexpr|2.7.2|
|numpy|1.19.5|
|pandas|1.1.5|

# 基本: 4つのプロパティ(iat, at, iloc, loc)
DataFrameには任意の位置を取得するための

元記事を表示

量子化学入門 Roothaan SCF

今回は、女性の方、就学していない方、さらにこれから就学する小学生の方を対象に、量子化学入門を企画しました。プログラムは Python で作成しています。

量子化学は Linus Pauling の混成軌道 (Hybrid Orbital) に始まります。1個の炭素原子 C が、4個の水素原子 H と結合しているメタン分子 CH4 が最もシンプルな例です。H2 水素分子が最もシンプルな分子ですが、水素分子は量子化学が分岐する以前、初期量子力学の段階から研究されていて、水素分子はどちらかというと量子力学の方に研究の大部分があります。まず量子化学計算の最初期は Hückel MO 法です。しかし今回は Hückel MO 法から少し進化した電子スピンおよび 2 電子間反発も考慮した ppp 近似の SCF 量子化学計算です。1930~1960 年代に Roothaan や Pople らによってなされた最新版です。しかし現在では、核スピン、磁場、および電場の影響を考慮した量子計算の研究が進行中であり、研究としては少し古い感があります。しかし少し古

元記事を表示

DataFrame obeject operation to use python library pandas

##1.overview
this is python library pandas to output csv files.
how to use DataFrame object and replacement DataFrame index by dict.

##2.sample

“`sample.py
import pandas as pd

input_csv_file_path =
output_csv_file_path =

def no_list_to_multiple_list(no_list):
return [index * 2 for index in no_list]

if __name__ == ‘__main__’:
input = pd.read_csv(filepath_or_buffer=input_csv_file_path , encoding=’ms932′, sep=’,’)
no_list = csv_inpu

元記事を表示

pillowを入れようとするとThe headers or library files could not be found for jpegとでる

実際にはもっと画面が真っ赤になるくらいのエラーがでて怖い感じです。

環境はM1Mac。

“`
brew install libjpeg
“`

を叩いたらいけるようになった。

元記事を表示

PythonでChord Diagramを描画する

#はじめに
本記事ではPythonでChord Diagramを描画する方法を紹介します。
初投稿、メモ書きレベルなので至らない部分はご了承ください。
#Chord Diagramとは?
データ同士の相互関係を視覚的に分かり易く描画できる図です。
データは円周上に配置され相互関係は線で描画されます。
また線の太さは重要度に比例します。
#環境
Python3.7.6
Jupyter Lab 
(Jupyter Notebookでは動作はしますがChord Diagramが描画されませんでした)

#Chord Diagramの描画

“`sample.py
from chord import Chord
#データ名
names = [“AAA”,”BBB”,”CCC”,”DDD”,”EEE”]
matrix = [
[0,5,6,4,7,4],
[0,5,6,4,7,4],
[0,5,6,4,7,4],
[0,5,6,4,7,4],
[0,5,6,4,7,4]
]
Chord(matrix,names).show()
“`
#実行結果
![8aa278f0f34b54315ffe6

元記事を表示

mysql_config not foundとでたときの対処法

M1Macを買って色々とセットアップしてたらエラーがでたので。

## pipでmysqlclientをインストールしようとしたらmysql_config not foundとでる。

### やること

“`
brew install mysql-connector-c
“`

インストールできたら、

“`
echo ‘export PATH=”/opt/homebrew/opt/mysql-client/bin:$PATH”‘ >> ~/.zshrc
export PATH=”/opt/homebrew/opt/mysql-client/bin:$PATH”
which mysql_config
“`
でパスを通して、whichが叩けることを確認。

“`
chmod 777 /opt/homebrew/opt/mysql-client/bin/mysql_config
“`

でパーミッションを変更。(パスはwhichを叩いたときにでてくるパスとなる)

`vi` で開いて。

“`
libs=”$libs -lmysqlclient”
“`

“`

元記事を表示

【初見の方向け】ロボット・ IoT開発で使われているMQTT通信。概要把握からPython実装まで紹介。

#はじめに
ロボット・IoT開発ではMQTT通信が使われている。
WEBシステム開発ではREST APIの知識が必須であるのと同様に、ロボット・IoT開発する際にはMQTTの知識が必須だと思う。
ロボット・IoTに興味がある方や、RESTのみを専門にされている方にも、こんなデータ方式があるんだという参考になれば幸いです。
なるべくシンプルに説明します。

#MQTTとは
プロトコル。
WEBのAPIはRESTで行われているのと同様に、ロボット・IoT機器と通信はMQTTで行われている

#MQTTの通信ってどんな感じなの?
**パブリッシュ・サブスクライブ・モデル**というのがあってそのモデル通りに動く。そのためモデル理解が大事。
モデルを説明するのに三者が登場する。

– ブローカー    全データを持っている人。データを受け取ったり、渡したりする場合はすべてブローカーを経由する。
– パブリッシャ   ブローカーにデータを渡すだけの人。
– サブスクライバ  ブローカーからデータを貰うだけの人。

###大まかなデータの流れ
![publisher](https://github

元記事を表示

KafkaをローカルのDocker環境で、さくっと動かしてみました  第3回

## 概要
Kafkaに魅せられて、とりあえず手元のマシンで動かしてみましょうか、、、と、インフラしか知らないSEがMacBookProを新たに購入し、Qiita等にアップされている諸先輩方の記事を参考にさせていただき、動作確認したまでの手順を数回に分け記載しています。
なお、Kafkaの概要につきましたは、[こちらの記事](https://qiita.com/sigmalist/items/5a26ab519cbdf1e07af3) を参照ください。

第3回は、[第1回](https://qiita.com/turupon/items/12268ddb95ecd7b7ae07)で作成したDockerコンテナ環境に、新たに
ProducerとしてPythonプログラムを走らせるためのコンテナを稼働させます。
このProducerからIoT疑似データを送り、Consumerでそのデータの受け取りを確認します。
簡単に絵を描くとこんな感じになります。
![kafka-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws

元記事を表示

KafkaをローカルのDocker環境で、さくっと動かしてみました  第2回

## 概要
Kafkaに魅せられて、とりあえず手元のマシンで動かしてみましょうか、、、と、インフラしか知らないSEがMacBookProを新たに購入し、Qiita等にアップされている諸先輩方の記事を参考にさせていただき、動作確認したまでの手順を数回に分け記載しています。
なお、Kafkaの概要につきましたは、[こちらの記事](https://qiita.com/sigmalist/items/5a26ab519cbdf1e07af3) を参照ください。

第2回は、[第1回](https://qiita.com/turupon/items/12268ddb95ecd7b7ae07)で作成したDockerコンテナ環境で Producerからメッセージを送り、Consumerでそのメッセージの受け取りを確認します。
簡単に絵を描くとこんな感じになります。
![kafka-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544022/b5b484c2-503c-a299-0b50-33119f50cbce

元記事を表示

MarkdownのコンバータをPythonで書く話

# はじめに
なんかしらんけどMarkdownライクな言語を作れと言われたので, そのベースとしてMarkdownをHTMLに変換するプログラムをPythonで書いてみた. (まだ途中だけど)

# 環境

“`shell
mochihisa@ThinkPad-X250:~$ cat /etc/os-release
NAME=”Ubuntu”
VERSION=”20.10 (Groovy Gorilla)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=”Ubuntu 20.10″
VERSION_ID=”20.10″
HOME_URL=”https://www.ubuntu.com/”
SUPPORT_URL=”https://help.ubuntu.com/”
BUG_REPORT_URL=”https://bugs.launchpad.net/ubuntu/”
PRIVACY_POLICY_URL=”https://www.ubuntu.com/legal/terms-and-policies/privacy-policy”
VERSION_CODE

元記事を表示

【Python】RestAPI でファイルをアップロードする (FastAPI)

# はじめに

### FastAPIで

これまで WEB APIは Flaskで作ってきましたが、調べているとfastAPIを使う方が、便利なようです。非同期処理がどうたらとかいろいろあるようですが、個人的に一番響いたのは、http://localhost:8080/docs と開くと、自作のWEB APIのマニュアルやテストができてしまうことです。これはもうチュートリアルをたどるとすぐできるので、書くのは省略するか後回し。これに感動しました。

今回、FastAPIでファイルをアップロードして保存する方法を少し調べたのでメモしておきます。

# ファイルのアップロード

### Request File (tutorial)

Tutorial に書いてあることのコピーなのですが、まぁ自分のメモです。
FastAPI Tutorial-User Guide の [Request File]
(https://fastapi.tiangolo.com/tutorial/request-files/) のページです。

“`python:main.py

from fastap

元記事を表示

Tensorflow/Kerasで学習済み「重み」を保存/復元する方法

# 重みの保存
機械学習を行っている際に毎回同じ学習を行うのは時間の無駄なので、`学習済み重み`として`保存`しておきましょう。
保存した学習済み重みを`復元(load)`して認識などを行う方法も紹介します。
`MNIST`を例に紹介します。
公式日本語解説:https://www.tensorflow.org/tutorials/keras/save_and_load?hl=ja

## 保存の方法の種類
重みはいくつかのファイルが指定のフォルダーに保存されます。
以下のようなファイルが保存されます。

– checkpoint
– checkpoints.data-00000-of-00001
– checkpoints.index

## モデルと重みを保存
重みだけでなくモデルも一緒に保存する方法は別の記事に載せています。
そちらではモデルも復元してくれるので、一から定義する必要はないです。
[Qiita: Tensorflow/Kerasで学習済み「モデル/重み」を保存/復元する方法](https://qiita.com/zunda_pixel/items/9ca306

元記事を表示

PyTorchのUserWarning: Using a target size … that is different to the input size …の警告を侮ってはいけない

#はじめに
掲題の警告を無視して、3時間を浪費してしまった話。

# 環境
– PyTorch 1.7.0

#PyTorchの学習コード

以下のようなコードで回帰の予測モデルを作成。

“`python

for epoch in range(max_epoch):

losses = []
for batch in train_loader:

# バッチサイズ分のサンプル抽出
x, t = batch

# パラメータの勾配を初期化
optimizer.zero_grad()

# 予測値の算出
y = net(x)

# 目的関数の値を算出
#print(y)
#print(t)
loss = F.mse_loss(y, t)

# 目的関数の値を表示
#print(‘loss:’, loss.item())
losses.append

元記事を表示

Tensorflow/Kerasで学習済み「モデル/重み」を保存/復元する方法

# モデル/重みの保存
機械学習を行っている際に毎回同じ学習を行うのは時間の無駄なので、`学習済みモデル/重み`として`保存`しておきましょう。
保存した学習済みモデル/重みを`復元(load)`して認識などを行う方法も紹介します。
`MNIST`を例に紹介します。
公式日本語解説:https://www.tensorflow.org/tutorials/keras/save_and_load?hl=ja

## 保存の方法の種類
ファイルとして保存/フォルダー形式で保存の2つのパターンがあります。
ファイルは`.h5`という拡張子の`HDF5ファイル`で保存します。
フォルダー形式だとややこしいので、1つのファイル(HDF5)で保存する方法を紹介します。

## 重みだけ保存
モデルは保存しないで重みだけ保存する方法は別記事で紹介します。
こちらは復元の際は先にモデルを別で定義する必要があります。
[Qiita: Tensorflow/Kerasで学習済み「重み」を保存/復元する方法](https://qiita.com/zunda_pixel/items/6178855310302

元記事を表示

OTHERカテゴリの最新記事