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

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

インターネットのzipファイルを解凍する

# インターネット上のzipファイルを解凍する
[気象庁](https://www.jma.go.jp/jma/kishou/know/amedas/kaisetsu.html)の[地域気象観測所一覧 [ZIP圧縮形式]](https://www.jma.go.jp/jma/kishou/know/amedas/ame_master.zip)を使用する。
zipファイルの中身は、`ame_master.csv`のみ

“`python:python
import requests
import zipfile
import io
import pandas as pd

url = ‘https://www.jma.go.jp/jma/kishou/know/amedas/ame_master.zip’
csv_name = ‘ame_master.csv’
zip_res = requests.get(url)

with zipfile.ZipFile(io.BytesIO(zip_res.content)) as zip_f:
csv_data = zip_f.read

元記事を表示

Lobeで学習したモデルとTensorFlow Servingを使ってREST APIを作る。

下記の記事でLobeでの学習と学習したmodelをエクスポートしてPythonから利用する方法を説明しました。

[マイクロソフトが公開した機械学習モデルの訓練を容易にできる「Lobe」を試してみた。](https://qiita.com/tkinjo1/items/5cfe561b8765add0b7d0)
[Lobeで学習したモデルをPythonで利用する方法](https://qiita.com/tkinjo1/items/bbcb77fb0f4b8fe79a81)

今回はTensorFlow Servingと組み合わせてREST APIを作ってみたいと思います。

## TensorFlow Servingを動作させる下準備
Lobeでの学習とmodelのエクスポートは上に記載した記事をご覧ください。

いろいろと試したところTensorFlow Servingを動作させるにはmodelが入っているディレクトリの名前が数字である必要があるようです。
(この辺りはまだはっきりと掴めていないのでご存知の方がいれば教えていただけるとありがたいです。)

そのため、Lobeからエクス

元記事を表示

【統計検定2級】離散型確率分布

##はじめに
統計検定2級では様々な確率分布が出てきます。今回はそのうちの離散型確率分布について簡単にまとめました。また、Pythonで実際にそれぞれの確率分布を描画して理解を深めます。(コードの解説は省略します。)
※この記事の中の記号は以下の意味に対応しています。

| 記号 | 意味 |
|:———–:|:————:|
|$P(A)$|事象$A$の確率|
|$X$|確率変数|
|$E[X]$|確率変数 $X$ の期待値|
|$V[X]$|確率変数 $X$ の分散|
|n|試行回数|

##二項分布
成功確率が$p$であり、$n$回のベルヌーイ試行を行ったとき、成功の回数が$x$回である確率、すなわち成功の回数$X=x$が従う分布のことを二項分布と言います。その確率関数は、

“`math
P(X=x)≡f(x)={}_n C_{x}p^x(1-p)^{n-x}\\
“`
となります。

また、二項分布の期待値と分散は定義に基づいて計算すると

“`math
E[X]=np\\
V[X]=E[X^2]-μ^2=np(1-p)\\
“`
とな

元記事を表示

すばらしいfind/47サイトの画像をPythonを使って取得する(その2/2: 対象リストをgithub公開しました)

##記事公開後の追記
githubリポジトリに、スケルトンとして、jpg以下、地域(地方)別-都道府県別の空フォルダをアップロードしました(2020/11/3, 11:30)。これで少し手間が省けたかと思います。

##前回の記事を受けて
[前回の記事](https://qiita.com/dk4130523/items/c2555a8e45bcea7179e8)を受けて、対象リストをgithubで公開しました。スクリプトを公開してむやみに[find/47](https://find47.jp/)へのアクセスを増加させるよりも当方が取得して参考公開したほうがいいと判断しました。画像はオープン投稿ではなく審査方式であり、1080枚でいったん落ち着いているようですので、当面はこれで十分でしょう。

– https://github.com/cj3029412/find47-image-url-index

###ファイルの説明
02.csvが、簡単なスクリプトを書いて画像を得るのに簡便かと思います。

– 第1列:ダウンロード先(取得元)URL
– 第2列:直下jpgディレクトリに、地域と

元記事を表示

pivot_tableの簡単なサンプルです。

#テストデータ
“`

data=[
{“日付”:”1/2″ , “氏名”:”山田” ,”デザート” : “りんご” ,”おかず” :”餃子” },
{“日付”:”1/3″ , “氏名”:”山田” ,”デザート” : “りんご” ,”おかず” :”餃子” },
{“日付”:”1/4″ , “氏名”:”山田” ,”デザート” : “ばなな” ,”おかず” :”煮魚” },
{“日付”:”1/5″ , “氏名”:”山田” ,”デザート” : “りんご” ,”おかず” :”餃子” },

{“日付”:”1/2″ , “氏名”:”佐々木” ,”デザート” : “ミカン” ,”おかず” :”餃子” },
{“日付”:”1/3″ , “氏名”:”佐々木” ,”デザート” : “りんご” ,”おかず” :”餃子” },
{“日付”:”1/4″ , “氏名”:”佐々木” ,”デザート” : “りんご” ,”おかず” :”餃子” },
{“日付”:”1/5″ , “氏名”:”佐々木” ,”デザート” : “りんご” ,”おかず” :”シチュー

元記事を表示

pyenvでPythonのAnaconda環境構築

Homebrewを使用します。

1, pyenvのインストール

“`Terminal.
$ brew install pyenv
$ echo ‘eval “$(pyenv init -)”‘ >> ~/.bash_profile
$exec $SHELL -l
“`

2, Python(Anaconda)のインストール

Python 3系を今回は使用します。

“`Terminal.
$ pyenv install anaconda3-2019.10
$ pyenv global anaconda3-2019.10
“`

3, バージョン確認

“`Terminal.
$ pyenv versions
“`

4, まとめ

“`
# インストール可能な一覧
$ pyenv install -l

# インストール
$ pyenv install バージョン

# すべてのフォルダで実行
$ pyenv global バージョン

# 特定のフォルダで実行
$ pyenv local バージョン
“`

5, Anaconda コマンド

“`
# ヘル

元記事を表示

【Python / Chrome】スクレイピングの基本設定と操作

# はじめに
今までは、VBAでスクレイピングをしていましたが、Internet Explorerがいつまで使えるか分かりません。
それで、**Python**で**Chrome**を対象としたスクレイピングを始めてみました。
環境は**Windows**です。

今更な内容ですが、押さえて置いた方がよいであろう基本事項(多分、数か月後には忘れてしまう内容)を、個人的な備忘も兼ねて記しておきます。

**<目次>**
[1. seleniumのインストール](#1-seleniumのインストール)
[2. WebDriverのダウンロード](#2-webdriverのダウンロード)
[3. ソースコードの記述](#3-ソースコードの記述)

# 1. seleniumのインストール

まず、Pythonに[selenium](https://pypi.org/project/selenium/)というブラウザを操作するパッケージをインストールします。

次のように、コマンドプロンプトから`py -m pip install selenium`というコマンドを打つことでインストールできま

元記事を表示

A to Bな変換系WebアプリをFlaskで作ろう!ゼロから…

# 最初に

Flaskを理解するために奮闘した記事です。
ここ間違ってるよ、こう解釈すると良いよなどのアドバイスがあればコメントいただけると無茶苦茶嬉しいです。
出来上がったものがこちらになります。
https://neutrino-converter.herokuapp.com/
では、始めます。

# 概要

– A to B の形で**文字列を変換する**系のWebアプリを制作する
– NEUTRINOで作業するときに文字にスペースを入れる作業がめんどくさいので、これを利用してめんどくさくなくす

![127.0.0.1_5000_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207577/5209e84d-6169-00a7-efd4-a67896131747.png)

# 第一部 「Flaskを準備する」

使用する言語は僕がそれしか使えないのでPythonです。
Flaskというモジュールを使用しますが、実はこれが初体験です。
1から手順を追って説明していきましょう。

## pip

元記事を表示

AIに五等分の花嫁の正妻を判定させてみた

#はじめに

![download.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208060/256154e6-a8a8-ab65-3d37-04e82c09b5ba.jpeg)

ラブコメの良し悪しはエンディングで決まると言っても過言ではない。
そして、ラブコメのエンディングは実に多様なものが存在する。特定の一人を選ばないハーレムエンド。ヒロイン一人一人のエンディングを用意するマルチエンド。特定の一人とだけ成就する個別エンド。
どのエンディングを迎えても必ずファンによる論争が繰り広げられるラブコメであるが、やはり一番議論が紛糾するのはなんといっても個別エンドではなかろうか。

中でもエンディングに関して紛糾した最近のラブコメといえば、そう、『五等分の花嫁』である。

本作のエンディングは四葉エンドだと言われている。
だが、他のヒロインとのifエンドを妄想するのもラブコメの一種の楽しみ方であるに違いない。

本記事はアニメ1期の画像を学習させた後AIに正妻を判定させ、他のヒロインとの

元記事を表示

福岡県の Go To EATの加盟店一覧をスクレイピングしてCSVに変換

[Go To Eatキャンペーン福岡](https://gotoeat-fukuoka.jp/)は[こちら](https://gotoeat-fukuoka.jp/csv/fk_gotoeat_UTF-8.csv)にCSVデータであるのでジャンルを変換

“`python
import pandas as pd

df = pd.read_csv(“https://gotoeat-fukuoka.jp/csv/fk_gotoeat_UTF-8.csv”)

df[“13.店舗情報ジャンル”] = df[“13.店舗情報ジャンル”].replace(
{
1: “和食・寿司”,
2: “洋食”,
3: “中華料理”,
4: “フレンチ・イタリアン”,
5: “ラーメン・餃子”,
6: “焼肉・ホルモン・韓国料理”,
7: “すき焼き・しゃぶしゃぶ”,
8: “アジア・エスニック・各国料理”,
9: “カフェ・スイーツ”,

元記事を表示

アフィン変換で画像の位置合わせ(特徴点マッチング)

#はじめに
特徴点マッチングにおいてのアフィン行列を求める記事です。この記事では特徴点を手動で決めることとします。
![image1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/486512/3b6eb006-3e0b-2189-5a53-1b0a88aef4f0.png)
イメージはこんな感じ。
2枚の画像の特徴点がわかってる状態でimage1からimage2に変換するアフィン行列Aを求めるのが目的。

![affine.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/486512/b6c73afc-ab86-606d-e880-5e1b19e27b08.gif)
特徴点からアフィン行列を求められればこんな感じで画像を重ねることが出来ます。

#特徴点マッチング
##アフィン行列
画像の各座標を変換させる行列計算

“`math
\left(
\begin{array}{c}
x^{‘}\\
y^{‘}\\
1
\

元記事を表示

気象庁二重偏波気象レーダー極座標データのGRIBをnetCDF(CF/Radial 規約)に変換する

# TL;DR

変換プログラム(作りかけ)を[GitHub](https://github.com/wm-ytakano/jmardr_cfradial)に置いておくので自己責任でどうぞ。

# はじめに

[気象庁レーダー毎極座標GPVのGRIBをnetCDF(CF/Radial 規約)に変換する](https://qiita.com/wm-ytakano/items/c1f460ec257d4ad2a325)の続きです。

前回扱った気象業務支援センター経由で配信されている[気象庁レーダー毎極座標データ](https://www.data.jma.go.jp/add/suishin/shiyou/pdf/no13702)は、リアルタイムで提供されているものの、レーダーが二重偏波化したことにより得られる情報(偏波パラメタ)は含まれていません。この偏波パラメタを含んだ東京の二重偏波レーダーの過去データは、「利用ニーズ把握のために提供する気象データ」という形で、[気象過去データの利用環境(令和2年度)](https://www.data.jma.go.jp/developer/past

元記事を表示

SPSS ModelerのPythonスクリプトで、スーパーノード内のノードの設定を変更する

##スーパーノードとPythonスクリプト
SPSS Modelerで長いストリームを整理する(見やすくする)のに、スーパーノードを利用することがよくありますが、Pythonスクリプトでノードの設定を変更するときに、スーパーノード内のノードを扱う方法がわからず調査しました。
備忘録も兼ねてその実現方法を残しておきます。

##まずはマニュアル
結論からいうと、そのやり方はマニュアルにしっかりと載ってました。
[IBM SPSS Modeler 18.2 Python スクリプトとオートメーション・ガイド](http://public.dhe.ibm.com/software/analytics/spss/documentation/modeler/18.2/ja/ModelerScriptingAutomation.pdf)

>P.383 抜粋
**カプセル化ノードのプロパティー設定**
スーパーノード内の子ダイアグラムにアクセスすることにより、スーパーノードの中にカプセル化された特定のノードのプロパティーを設定できます。例えば、データを読み込むためにカプセル化された可変長ファイルの

元記事を表示

Window上でを言葉を調べるプログラムを作ってみた(前回の発展)

(素人がそれっぽく書いています。)
どうも山田長政です。
前回のをWindow上でできんかやってみました
無理やり感がすごいプログラムです
どうぞ**温かい目で見て下さい**

ぜんかいの**知っている前提**でかきます
前回の↓
https://qiita.com/yamadanagamasa/items/3752e5849ff3b6344348

参考
https://qiita.com/Joachim_Sgr/items/d16951ed71eb7da3cb2d
使ったやつ
VS code
#プログラム
“`ruby:qiita.rb
# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox
from bs4 import BeautifulSoup
import urllib
import urllib.parse
import requests

def func():
rrr= []
global value
print(“in the function =”,

元記事を表示

[maya] maya の userSetup.py の動作・実行の仕組み

“`
※記事に関しましてご注意下さい
こちらでは普段当たり前のように使用している機能・動作が「実はどうやって動いているのか」を探るべく調査した内容になります。
仕組みを知ることで利点・欠点をつかみ、未来に起こるトラブルを防ぐ・拡張した使用方法に発展させるなどと考えています。
あくまでも個人調査のメモです。間違い・勘違いが含まれている可能性もありますので予めご了承ください。
“`
## 調査のきっかけ
最近(2020/6 ~)幾つかの maya 用のウィルス報告がありました。影響を受けた方も大勢いらっしゃると思います。
これらはどれもデータ・ファイルを介して最終的にアプリ動作をにのっかるものです。
起動時に発動するスクリプトといえば、、、 userSetup.py です。
そして、userSetup.py はウィルス話でなくとも通常の個人・プロダクション環境設定の一手法として使用されます。

これまで自分でも大体の動作として使う側に専念することが多かったため、
せっかくなので userSetup.py が動く仕組みを調べようと思いました。

## 調べた結果
これまで「なんとなく」ブ

元記事を表示

【pytorch】numpyからtensor

pytorchでnumpyからtensorに変える方法を書く。
#numpyからtensor
torch.from_numpy(ndarray)をつかう。
ndarrayにはnumpyの行列が入る。

“`
>>>import numpy
>>>import torch
>>> a = numpy.array([0, 1, 2])
>>> t = torch.from_numpy(a)
>>> t
tensor([ 0, 1, 2])
>>> t[0] = 1
>>> a
array([ 1, 1, 2])
“`
上の例から、arrayをtensorに変えることができていることが分かる。
また、aのarrayとtのtensorはメモリを共有していることが分かる。

元記事を表示

webカメラを起動して静止画を撮影しローカルに保存

# やりたいこと
– PCについているwebカメラを起動
– 静止画を撮影
– ローカルに保存する

# 環境
– MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)
– python 3.7.0
– opencv 3.4.2

# 実装
“`python
# VideoCaptureクラスのインスタンスを生成
# 内蔵webカメラ使用時は0を指定
cap = cv2.VideoCapture(0)

# 正常に読み込めなかった場合
if cap.isOpened() is False:
print(“IO Error”)
# 正常に読み込まれた場合
else:
# readメソッド
# 返り値1 ret: フレームの画像が読み込めたか / 返り値2 frame: 画像の配列(ndarray)
ret, frame = cap.read()
image_path = “./images/”

元記事を表示

Python LINE Pay SDK を試してみる

LINE Pay の先生である加川さん @sumihiro3 が作ってくれたSDKを理解して使えるようになるためのメモ書き。
https://github.com/sumihiro3/line-pay-sdk-python/tree/master/examples

単発の一般決済だけならスターターを作ったので[こちら](https://github.com/maztak/line-pay-v3-python-starter)を使ってくださいまし。

##前提知識
###SDKとは
>SDKは、少ない労力でアプリケーションを開発できるようにするために、プログラム、API、サンプルコードなどをパッケージにしたものだ。開発者はSDKを使えば、機能を実現する技術の詳しい仕組みを理解していなくても、アプリケーションに新機能を実装できる。

###LINE Pay API(v3)の決済フロー
![line_pay_api02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242610/340e63ff-123e

元記事を表示

マンマシンチャートをPythonで解いてみる

よくあるMMチャートの問題を手作業じゃなくて, python で解いてみよう,という試み.

お題『円座状の工程において最小サイクルタイムと作業者への工程割付を述べよ』
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463767/ee3ef808-8757-f097-f34d-eca1034b3e42.png)

– 工程数および各工程に掛かる時間はリストで与えられる.
今回は8工程で,各工程に掛かる時間は,[6, 3, 3, 10, 6, 8, 4, 5].
– 作業者の移動に掛かる時間は隣同士で1, 1つ飛ばしで2, それ以外は3
– 作業者の数も可変.今回は3人.

“`python:condition
process_time_lst = [6, 3, 3, 10, 6, 8, 4, 5]
move_cost_lst = [1, 2, 3]
num_of_workers = 3
“`

知りたいのは,『クマ,ウサギ,ブタにどの工程を担当して貰えばよいか』
![ima

元記事を表示

日本学術会議 任命拒否AI 〜エレガントな答弁書作成に向けて〜

## 前略、官僚のみなさま
日本学術会議の任命拒否が問題になっていますが、
官僚のみなさまにおかれましてはいかがお過ごしでしょうか。

菅首相の任命拒否理由について、

– 「総合的、俯瞰(ふかん)的に」
– 「多様性を念頭に判断した」
– 「旧帝国大学に所属する会員が45%」
– 「民間出身者や若手が少なく偏りがある」

などと、徐々に具体感を追加してみた答弁がされているわけですが、

– 「私大所属も拒否されている」
– 「(そもそもマイノリティである)女性も拒否されている」

といった矛盾を秒で指摘されてしまっている次第……

ただ、既に~~勝手に拒否してしまった~~ご決断されたあとに
首相に逐一理由をお聞きするわけにもいきません。
上席の意図を汲むのが優秀な部下というもの。[^1]

## 首相知を紐解く機械学習

一方、推薦名簿から意図(ロジック)を見出そうと
様々な軸でエクセル集計しても有意な特徴はなかなか発見できず……

そんなときは”AI”にお任せしましょう。
AIによる”任命拒否予測”のための学習を通して、ルールを見出そうというわけです。[^2]
![Picture

元記事を表示

OTHERカテゴリの最新記事