Python関連のことを調べてみた2020年10月07日

Python関連のことを調べてみた2020年10月07日

MemSQLの処理能力検証(応用編2)

#今回は・・・・・
応用編1では、今回の検証で使用する環境整備を中心に作業を行いました。最後のSQLクエリ処理が想定通りに動きましたので、今回の検証ではその先の処理を検証して行く事にします。
最終的な目標は・・・
(1)データの生成側(現場作業)と同じ時間帯で
(2)キッチリとサイジングされ、運用周りまで枯れた既存データシステムに新たな負荷を掛ける事無く
(3)サイロの壁を超えたリアルタイムのデータ活用を実現する・・・・
という事が可能か?を確認・・・になります。

キーワードは、**今を変えて未来を創る**です。
貯めてドン!型の処理では見えなかったモノを、必要な情報をリアルタイムで自分の側の都合に合わせて自動的に準備をし、オンデマンドで創造的なデータ活用を実現する・・・多分、新しい形のデータドリブンが可能になるでしょう。

#まずはシンプルにSQLクエリだけを繰り返し投げてみる
SQL的には基本系だと思いますが、先ずは集計系の関数を幾つかの条件に適合したデータに対してクエリしてみる事にします。
(1)自動生成された”なんちゃって販売情報”からカテゴリ別に集計系の処理を実施する。

元記事を表示

MemSQLの処理能力検証(応用編1)

#今回はMemSQLのSQL処理能力を検証します
過去数回に渡って実施してきたMemSQLの検証ですが、今回からは少し(かなり・・)無理矢理ではありますが、実際の処理に近い感じで検証を行ってみたいと思います。
MemSQL自体は、インメモリで非常に高いMySQLとの互換性を持っていますが、その高いトランザクション性能を何処で活用するのか?と言う部分で、そこまで速い処理能力は必要ないです・・・といったコメントを頂くケースが有ります。そこで、今回はMemSQLを以前より検証している**誰でもリアルタイム・ストリーミング処理が作れるEqualum**のターゲット側データソースとして、さらにそこに準備されるデータを活用するAIやBI、また今後はAIとの境目が益々無くなるであろう各種のロボット系システムに対する、高速シュミレーション可能な知識ベース的位置付けの可能性を探ってみたいと思います。

![スクリーンショット 2020-10-07 9.12.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197589

元記事を表示

PayPayの開発者向けツール「PayPay for Developers」を試してみる

自社で運営しているECサイトやアプリの支払いにPayPayを導入できる開発者向けツール「PayPay for Developers」が2020年7月にリリースされました。

sandbox環境で支払いが完了するところまで、試してみたいと思います。

# PayPay for Developersに登録

まずはPayPay for Developersに登録します。
https://developer.paypay.ne.jp/

登録が完了すると、APIキーとテストユーザーが用意されます。

# PayPay OPA SDKのインストール
今回はCentOS 7でPython3.6と、pip3.6がインストールされている環境で作業します。

“`
pip3.6 install paypayopa
“`
PayPay OPA SDKのバージョンは0.6.0がインストールされました。
# QRコードの発行

PayPayアプリまたは、Webページで決済ができるウェブペイメントの実装方式を使って決済のQRコードを発行します。
“merchant_payment_id”に、ユニークな値を

元記事を表示

OpenCVインストール時のbuildが終わらない問題の解決法(PEP517)

## OpenCVインストール時にインストールが終わらない問題
“`:実行コマンド
pip install opencv-python
“`

“`:出力
Building wheels for collected packages: opencv-python
Building wheel for opencv-python (PEP 517) … –
“`

# 原因と解決法
openCV-Pythonの古いバージョンはwheelのコンパイルを必要としないため、ここで止まってしまう。
pipのバージョンが古いため起きる問題であるため、`pip install –upgrade pip`を実行した後、
再度opencvをインストールする事で解決する。

元記事を表示

xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record;となった時の対応方法

– 環境
– Windows10 Pro バージョン1909
– Python 3.8.5
– Pandas 1.0.5

# 事象 : PandasでExcelファイルを読み込もうとしたら怒られた
PythonでExcelファイルを読み込むコードを作ってPyInstallerでexeファイルにしてディレクトリを変えてコマンドプロンプトで実行したら怒られた。

“`bash
> my-code.exe
チェック処理を開始しました。画面を閉じないでください。
Traceback (most recent call last):
File “my-code.py”, line 256, in
File “my-code.py”, line 218, in check_files
File “pandas\io\excel\_base.py”, line 304, in read_excel
File “pandas\io\excel\_base.py”, line 824, in __init__
File “pandas\i

元記事を表示

Pythonはインデントがズレるだけでエラーや、出力がされなくなる

現在、新しい会社でPythonを学んでおりますが、Pythonは他の言語と違って、インデントがズレるだけでエラーが起きたり、正しく処理されなくなります。

以下のsample.pyでは出力結果はanswer.pyになります。

“`sample.py
for i in range(10):
if i == 1:
continue
if i == 8:
break
print(i)
“`

“`answer.py
0
2
3
4
5
6
7
“`

これが、インデントがずれた以下のsample2.pyでは、エラーは起きないが、インデントがずれているため、print(i)が出力されなくなります。

“`sample2.py
for i in range(10):
if i == 1:
continue
if i == 8:
break
print(i)
“`

元記事を表示

Codeforces Round #609 (Div. 2) バチャ復習(10/6)

#今回の成績

![スクリーンショット 2020-10-06 20.11.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331393/cdb4d9d8-d08e-f7f0-d891-33c444684062.png)

#今回の感想

昨日から誤読を直そうと張り切ってやったのにC問題で誤読しました。きつすぎる…。
**30分で解けなかったらスパッと切る勇気**が必要かもしれません。

#[A問題](https://codeforces.com/contest/1269/problem/A)

都合よく作ります。数の引き算なので**偶奇に注目**します。

$n$が偶数のときは$a,b$はいずれも偶数なので、例えば$b=4$とすれば$a$は$4$より大きい偶数なので題意を満たします。

$n$が奇数のときは$a,b$の一方が偶数で一方が奇数なので、例えば$b=9$とすれば$a$は$9$より大きい偶数なので題意を満たします。

“`python:A.py
n=int(input())

元記事を表示

決定木(初学者向け)~コード編~

今回は決定木(分類)の実装をまとめていきます。

##■ 決定木の手順

次の7つのSTEPで進めます。

1. モジュールの用意
2. データの準備
3. データの可視化
4. モデルの作成
5. モデルのプロット
6. 分類を予測
7. モデルの評価

##1. モジュールの用意
最初に、必要なモジュールをインポートしておきます。

“`python

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# データセットを読み込むモジュール
from sklearn.datasets import load_iris

# 標準化(分散正規化)を行うモジュール
from sklearn.preprocessing import StandardScaler

# 訓練データとテストデータを分割するモジュール
from sklearn.model_selection import train_test_split

# 決定木を実行するモジュール
from sklearn.tree

元記事を表示

Python: Brent法で露出管の限界座屈圧力に対する必要板厚を求める

続けざまだが、必要に迫られて作っている、Brent法による数値計算事例をもう一つアップしておく。「Python便利!」である。

露出型水圧鉄管の限界座屈圧力は以下の式で計算される。

“`math
\begin{equation}
p_k=\cfrac{2\cdot E_s}{1-\nu_s{}^2}\cdot \left(\cfrac{t}{D_0′}\right)^3
\end{equation}
“`

$p_k$ 鉄管の限界座屈圧力
$t$ 板厚(余裕厚を除く)
$D_0’$ 設計外径
$E_s$ 鉄管の弾性係数 (=206,000MPa)
$\nu_s$ 鉄管のポアソン比 (=0.3)

ここで、通常余裕厚は、$\epsilon=1.5 mm$ とされ、余裕厚を含む設計板厚 $t

元記事を表示

JFLの試合結果から順位表を作成

# はじめに

日本フットボールリーグオフィシャルWebサイトの[日程・結果](http://www.jfl.or.jp/jfl-pc/view/s.php?a=1542&f=2020A001_spc.html)から試合結果をスクレイピング

# スクレイピング

“`python
import requests
from bs4 import BeautifulSoup

url = “http://www.jfl.or.jp/jfl-pc/view/s.php?a=1542&f=2020A001_spc.html”

r = requests.get(url)
r.raise_for_status()

soup = BeautifulSoup(r.content, “html.parser”)

data = []

for table in soup.find_all(“table”, class_=”table-data”):

trs = table.find_all(“tr”)

th = int(trs[0].th.get_text(strip=Tru

元記事を表示

第二回AI実装検定A級合格体験記

第二回AI実装検定A級、(2020年9月26日実施分)に無事合格できたので、体験記残させてもらいます!
私なりの体験記なので悪しからず。

得点は
数学 : 95%
Python : 100%
AI : 100%
でした。

合格通知メール

![スクリーンショット 2020-10-07 1.03.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277737/d393bfc3-e38f-329d-dff2-f344ab023b90.png)

## AI実装検定A級とは
[公式サイト](https://kentei.ai/introduction/detail)より
>ディープラーニングの実装について数学、プログラミングの基本的な知識を有し、ディープラーニングの理論的な書籍読みはじめることができ、独学の準備が出来たレベルです。また、現在AI資格試験の最高峰であるE資格(日本ディープラーニング協会主催

元記事を表示

Python: Brent法で矩形断面の等流水深を計算する

先に紹介した不等流計算プログラム(常流計算)では、下流端協会での水位を指定する必要があり、それに等流水深を用いています。すなわち等流水深を知る必要があるわけです。
一応、非線形方程式を解くことになりますが、このような計算をサッとできるのが、Pythonのいいところだと思います。

矩形断面の等流水深計算のための基本式は以下の通り。

“`math
\begin{gather}
Q=A\cdot v \\
v=\cfrac{1}{n}\cdot R^{2/3}\cdot i^{1/2} \\
R=\cfrac{b\cdot h}{b+2\cdot h}
\end{gather}
“`

$Q$ (既知) 流量
$b$ (既知) 水路幅
$n$ (既知) マニングの粗度係数
$i$ (既知) 水路床勾配
$h$ (未知) 等流水深

Julia早引きノート[03]複素数

###複素数(書き方例)

“`ruby:note03
虚数単位をimで表す。
 z = 4 + 3im

◆実部
 real(z)

◆虚部
 imag(z)

◆複素共役
 conj(z)

◆絶対値
 abs(z)

“`

##解説

数学では一般に複素数単位を$i$、$x$及び$y$を実数として複素数$z$は以下に表現されます。

“`math
z = x + iy
“`

Juliaでは、これと同様に虚数単位を$im$として、複素数を表すことができます。
例えば、実数部を3、虚数部を4とすると以下となります。

“`math
z = 4 + 3im
“`

◆real(z)で実部(実数部分)を取得することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/4b705674-507c-e22c-ef70-939962a20e6c.png)
◆imag(z)で虚部(虚数部分)を取得することができます。
![image.png](https://

Python初心者がPytorchを触る(2)

今記事では前回書いた記事「[Python初心者がPytorchを触る(1)](https://qiita.com/You-saku/items/be59a33b532c90f6b9ea)」の続きを書いていきます。

1.Pytorchで微分

1-1.基本的な傾き

前回の最後で述べた通り、今回は微分について説明いたします。
微分は関数における “傾き” を求めることです。まずは微分を学ぶより先に傾きについて考えてみましょう。

“`math

y = 3x \\
“`

上記の関数において傾きは “3” です。なぜなら、2次元平面においてxを「1」増やした場合、yは「3」ずつ増えるからです。

傾きとはグラフの変化量とも言えます。小学校で学んだグラフをイメージしていただけるとわかりやすいです。

1-2.2変数以上の場合の傾き

先ほどは関数1つにつき変数が1つでした。変数が1つとは関数の結果に関わる文字の数が1つしかないという

Chainerによる機械学習のためのPython学習メモ 2章から

# What
Chainerを利用して機械学習を学ぶにあたり、私自身が、気がついた点、リサーチした内容をまとめる記事になります。私の理解に基づいて記述しているため、間違っている場合があります。間違いは都度修正するつもりです。

本日はリスト(配列)に関する学習が中心

#Content

## 2. Python入門 に関するノート 続き

### list(リスト)
いわゆる配列。要素数はlengthに由来したlen(value)で書く。配列の一部分だけ抜き取る操作(スライス)も簡単にできる。

“`py
array[x:y] # xは開始要素、yは続いて読み込む数 xからy個読み取る
“`

と言った指定。xもyも省略可能。多次元配列の時に、特定の配列だけ抜き取り値ときに使う。arrayだと全ての配列を読み込んでしまう。なぜか、多次元リストとは呼ばないようだ。
値挿入は末尾なら簡易操作可

“`py
array.append(x) # 末尾にxを挿入
“`

### tuple(タプル)
値の書き換えが不可能なリスト(配列)。主に定数をまとめて扱う時に使う。
メリットは明示

GRUで文章生成(keras)

# はじめに
前回、[マルコフ連鎖でレポートを自動作成してみた ](https://qiita.com/eycjur/items/2fc0b9a240306cfd3008)という記事を作成しました。このときはマルコフ連鎖を使っていたため、文章の流れを無視した文章が出来上がってしまいました。そこで今回はGRUという技術を使って文脈を意識した文章を作成しようという企画です。

# GRUとは
文章生成といわれるとRNNとかLSTMとかがよく知られていると思いますが、LSTMよりも学習時間が短くて済むという点からこれを選びました。詳しい構造は分からないので書きませんが、実用的にはLSTMとほぼ同じコードで書けます。

# 実装
それではさっそく実装していきましょう。

まずは使用するライブラリを読み込みます。

“`python

import re
import MeCab
import numpy as np
from sklearn.model_selection import train_test_split
from gensim.models import word2vec

【画像保管計画】Pillow Image to Blob in MySQL

# 背景
 かつて誰もが為し得なかった神への道を目指し、僕はPythonで動画サイトのサムネ画像をスクレイピングで色々収集してまして、それをPillowモジュールで加工したものをMySQLで作ったテーブルのBlobカラムに保管しておきたいという必要に迫られました。画像の数は大量にあるので、ストレージの節約のため、いちいちファイルに書き出したりせずにオンメモリでBlobカラムに挿入する方法が欲しかった。その過程で調べて得られた手順をここに残しておきます。

# BLOBフィールド、展開!
以下のようなBLOB型のカラムimgfileを含んだimg_materialテーブルをMySQLのDBで定義しておきます。

“`
CREATE TABLE `img_material` (
`video_id` char(11) NOT NULL DEFAULT ” COMMENT ‘動画ID’,
`imgfile` blob DEFAULT NULL COMMENT ‘画像ファイル’
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

“`

# P.I.L.

sort を使わずにバブルソート

こんばんは。
Python user なら sort 使えば良いのですが、
考え方を味わいたかったので
まとめてみました٩(ˊᗜˋ*)و

取りあえず、以下の配列を小さい順に並べてみましょう。

“`
x = [6,4,3,7,1,9,8]
“`

っと言っても、いきなりヤレと言われてもハードルが高いので
まずは、一番小さい 1 を左端に移動させてみましょう。
例えばですが、2 つの値を比較し、小さいほうを左に移動させるアクションを
右端からやったら如何でしょうか?
例として x[5],x[6] を考えてみましょう。

“`test.py
# x[5] が x[6] より大きければ、、
if x[6] < x[5]: # x[5] , x[6] の値を入れ替える x[6],x[5] = x[5],x[6] ``` イメージはこんな感じです。 x[5], x[6] をブルーにハイライトしています。 ![図1.PNG](https://qiita-image-store.s3.ap-northeast-1.a

python googlemap api でレビューを取得

#概要
最終目標はスクレイピングした店舗を口コミ等を参考にしてランキング付けするwebサイトを作ることです

前回([python googlemap api を利用したデータ取得](https://qiita.com/hmck/items/25a252963498ab16c80f))の続きです。
apiを利用して店舗情報の取得まではいけたのですが、’reviews’のパラメータが存在せず、口コミの取得に四苦八苦しました。

#参考サイト
[Google Map APIからレビューを取得する](https://www.it-swarm-ja.tech/ja/google-maps/google-map-api%E3%81%8B%E3%82%89%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/1073688155/)
[PythonでGoogle APIとぐるなび APIのデータを取得してみた](https://www.capa.co.jp/archives/25959)

[GPUを簡単に高速化・省メモリ化] NVIDIAのapex.ampがPyTorchに統合されたようです

#対象とする読者
**PyTorch 1.6を利用できる環境**にあって**Volta以降のGPUの計算を簡単に高速化・省メモリ化**したい方

#はじめに

Volta以降のGPUでは**float16/float32混合精度演算**により計算の高速化・メモリの節約を行うTensorCoreが搭載されています。

しかし、特に明示的にプログラムを書かない限り?はfloat32による計算が行われ、TensorCoreを有効活用することはできません。かといって単に全てfloat16化して計算を行うだけだと、表現力が少なかったり、勾配でアンダーフローしてしまったりとモデルの性能が維持できません。

そこで、**Automatic Mixed Precision (amp)機能**によってfloat32の保持や勾配の値のスケーリング等を自動的に行うことでTensorCoreを有効活用し、GPU計算の高速化・省メモリ化が実現されます。

もう少ししっかり知りたい方は以下の記事・論文を参照してみてください。

– [MIXED PRECISION TRAINING (ICLR 2018)](