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

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

Microsoft Azure Cognitive Services Faceを動作させてみる その3

[その2](https://qiita.com/yoshiono/items/fc0b696e97a8690ddd05)からの続きです。

# 付録
##以下のSnippetをJupyter-notebookのセルに順番に張り付けてKEY、ENDPOINTを設定すると動作するはずです。PERSON_GROUP_IDの値は任意です。

“`python:FaceQuickstartのsnippet_imports部分.py
#
import asyncio
import io
import glob
import os
import sys
import time
import uuid
import requests
from urllib.parse import urlparse
from io import BytesIO
from PIL import Image, ImageDraw
from azure.cognitiveservices.vision.face import FaceClient
from msrest.authent

元記事を表示

Microsoft Azure Cognitive Services Faceを動作させてみる その2

[その1](https://qiita.com/yoshiono/items/208faa208faca7af1a30)からの続きです。

#動作させてみる
・開発環境は、コメントが見やすく、かつ他人に処理を説明しやすいPython+Jupyter-notebookでやりました。ざっくりした始め方は以下です。

# 動作環境の準備
 1. Anacondaを導入して適当な仮想環境作って、Jupyter-Notebook環境を準備します。参考は[こちら](https://qiita.com/ciela/items/0e0392f600c92b93d7c6)です。クラサバ形式の開発環境を用意できる場合は、外部からブラウザアクセスできるようにc.NotebookApp.ip = ‘0.0.0.0’を設定することが重要です。
 2. [Quickstart](https://docs.microsoft.com/en-us/azure/cognitive-services/face/quickstarts/python-sdk#create-and-train-a-person-group)に

元記事を表示

Microsoft Azure Cognitive Services Faceを動作させてみる その1

#この記事で伝えたいこと
・世間には多様なCognitiveなサービスが存在するのですが、大抵は、クラウドだけだったり、Localだけだったりで、どちらでも実装できる場合は結構なコストや手間がかかります(Cognitiveなサービスを提供するPaaS環境を一括買い取り、という意味)。が、Azure Cognitive ServiceについてはAzureの無料サブスクリプションがあれば、クラウドでもLocalでもCognitiveなサービスを比較的簡単に実装できそう、というのが面白いので、整理してみました。
・当然のCRUD操作、つまりperson_idと顔画像を登録して、別の顔画像のInference結果(person_idやname)を受け取ったり、登録済のpersonを削除する処理を実装したいだけなのに、マニュアルやソースが多くて英語で読むのが面倒だ、という人向けです。つまり、QuickStartの説明と補足です。
・Edge側でカメラ撮影してFaceでInferenceして出力するというPython Flaskアプリケーションにおける、Face部分の処理を想定しています(Pyth

元記事を表示

Pythonの機械学習を用いてプロ野球の2019セ・リーグMVPは本当に坂本勇人なのか検証する。

#はじめに
私は情報科学専攻の学部2年生です。大学1、2年生レベルの線形代数、確率統計の知識はあり、高校数学3は既習で同レベルの微分積分の知識はあります。Pythonは Mother Tongueで、webフレームワーク周りの知識もあります。野球のデータの分析をしたいと思い、40時間程かけて、[この本](https://www.amazon.co.jp/%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E8%82%B2%E6%88%90%E8%AC%9B%E5%BA%A7-Python%E3%81%A7%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E5%AD%A6%E3%81%B6%E3%83%87%E2%80%95%E3%82%BF%E5%88%86%E6%9E%90-%E5%A1%9

元記事を表示

Djangoでstartprojectをした時にカレントディレクトリ下に無駄にディレクトリが作られることを防ぐ

##はじめに

Djangoでstartprojectをした時にカレントディレクトリ下に無駄にディレクトリが作られてしまう。。。ということないでしょうか。

私はよくDjangoで新しいアプリを作り始める時に、まずディレクトリを作ってそこに移動してから、startprojectします。

“`
# Desktop上にmysiteディレクトリを作成し、その中でプロジェクトを開始している
$ cd ~/Desktop
$ mkdir mysite
$ cd mysite
$ django-adimin startproject mysite
“`

しかし、こうしたやり方でプロジェクトをスタートするとこのように無駄にディレクトリが作られてしまうことになります。

“`
# mysiteディレクトリの中に無駄にまたmysiteが出来てしまっている
mysite/
└── mysite
├── mysite
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.p

元記事を表示

AWS Lambdaでデフォルトでは用意されていないコマンドを呼ぶ

# やったこと

AWS LambdaでPythonからgsコマンドを呼んでPDFを結合しました。

# 経緯
業務でPDFの結合を行う必要があって、PythonのPyPDF2を使って結合をする実装になっていました。
しかし、このPyPDF2さんはPDFのファイル構造がPDFのbasicなファイル構造(つまりheaderがあって、bodyがあって、Cross-reference Tableがあって、Trailerがあるみたいなもの)を前提としていて、Cross-reference TableがないとかTrailerがないPDFファイルを結合しようとするとエラーになってしまっていました。
つか、PDFのファイル構造が多少おかしくなってても表示できるようになってるほうがおかしいだろ、やめてくれ
って思ったりもしましたが、ブラウザで表示できてるのに、結合できないのはなんとかしたいということで、なんとかすることに。。。

# 環境
AWS Lambda Python3.7

# 解決

「ghostscriptをPythonから呼び出すのはどうですか?手元ではいけましたよ」
と聞いたのでさっそ

元記事を表示

実践データ分析 ノック21~30

#ノック21:データの読み込み
“`ノック21.py
#ジムの利用履歴データ
import pandas as pd
uselog=pd.read_csv(“/content/use_log.csv”)
print(len(uselog))
uselog.head()
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475270/75b98be1-1d7b-a589-a16e-495e4c48462e.png)

“`ノック21.py
#2019年3月末時点での会員データ
customer=pd.read_csv(“/content/customer_master.csv”)
print(len(customer))
customer.head()
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475270/d6f5d1a0-3397-6177-1fb1-cdf4a062

元記事を表示

NOAA/GOES の見慣れたX-ray flux 3days plotをPythonで自力で作る

# NOAA/GOES の見慣れたX-ray flux 3days plotをPythonで自力で作る
**注: 使用するデータなど、かなり専門的な内容が含まれています。物理や用語の説明等は然るべき文献に譲ります。検索等から見に来てくださった方、一部モジュールの解説は[4. コード各部の解説](#4-コード各部の解説)から行っていますので、そちらをご覧ください。**
同業者の方々、車輪の再発明は承知していますが、もしもっと画期的な方法があればぜひご教授ください。ただ、IDLからPythonへの脱却は1つの大きな前提とさせていただきます。

## 1. 背景

### 1.1. 何をどうしてわざわざ自分で作るのか
太陽関連の研究をしていればどこかで見たことがあるはずの、以下の図を自分で作ります。**作った図は[5. 実際に描画する](#5-実際に描画する)にありますので、そこだけでも是非見ていってください。**
![goes_xrays_20170906.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26

元記事を表示

AutoMLTranslationAPIを使用して作ったモデルで自動翻訳

#はじめに
前回投稿したGoogle AutoMLの学習をしたモデルを使用して、ファイルの中身を翻訳して指定してファイルに出力してくれるようにしてみました!
たくさんの文章を翻訳して検証したり、翻訳時間を計測する仕組みを作るのも楽になりました:sunny:

#開発環境
・Windows10
・VScode
・Python3

#実装
**AutoMLのAPIを使用するのにサービスアカウントを取得する必要があります。**

“`python:

from google.cloud import automl_v1beta1 as automl
import os

#model_id → AutoMLtranslationで作成したモデルのID
model_id = ‘…’
#file_path → 翻訳したい文章のかいてあるファイルのファイルパス
file_path = ‘…’
#サービスアカウントの作成時にダウンロードしたサービスアカウントキーファイルのパスを設定
os.environ[“GOOGLE_APPLICATION_CREDENTIALS”] = “…”

元記事を表示

実践データ分析 ノック11~20

**クレイジングをする方法を学ぶ**
#ノック11:データの読み込み
“`ノック11.py
import pandas as pd
uriage_data=pd.read_csv(“uriage.csv”)
kokyaku_data=pd.read_excel(“kokyaku_daicho.xlsx”)
“`
**uriage_data**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475270/ec4e4cab-e9fd-4a83-cd75-cf52a5887c55.png)

**kokyaku_data**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475270/f967e9fc-44f7-3922-d83b-190fcf8153fe.png)

#ノック12:データの揺れ
“`ノック12.py
uriage_data[“item_name”].head()
“`

元記事を表示

macOS 10.15 CatalinaでAnacondaをインストールしようとしたらハマった

macOS 10.15 CatalinaでAnacondaをインストールしようとしたらハマったのでその事象と解決策を書いておきます。

## 前提

* macOS 10.15.3 Catalina
* `Anaconda 2019.10 for macOS Installer (Python3.7)` を使ってanacondaを入れる。
* 今回はちょっと触ってみたいだけなので出来るだけpyenvとかの世話にはならない。

## 事象

MacでのAnacondaでのインストールは基本的に以下の手順です。 ref:[公式ドキュメント](https://docs.anaconda.com/anaconda/install/mac-os/)

1. GUIインストーラでぽちぽちOKを押す。
2. Spotlight SearchからAnaconda Navigatorを起動できればOK。

スクリーンショット 2020-03-04 16.31.36.pngDjango girls-2 Python入門(途中まで)

”文字列”.upper()
大文字に変換

upper()のように、特定のオブジェクトにのみ実行される関数はメソッドと呼ばれる。

#リスト
x.append()
()の値をリストに追加
x.pop(インデックス)
インデックスの値を削除

#ディクショナリ
x = {‘name’:’Ken’, ‘age’:30, ‘num’:[1,5,9]}
キー:値
値にはリストも入れられる

x[‘birthday’] = ‘1990/1/17’
キーと値の追加

x.pop(キー)
キーと値の削除

x[‘name’]=’Kentaro’
値の上書き(変更)

元記事を表示

herokuでpythonのFlask触るための備忘録

取るに足らないapiを作るときに、Heroku × Flask(Python) が個人的に最速だけど、いつも初期設定で謎に時間を食うのでまとめとく。
##ローカルでの準備

まずHerokuでアプリ作るところ

“`
mkdir “フォルダー名”
cd “フォルダー名”
git init
heroku create -a “アプリ名”
“`

作成したフォルダーに必要なファイルは3つ

– reqirements.txt
– Procfile
– hello.py(ファイル名はなんでもいい、とりあえずmain.py的ななにか)

まずrequirements.txtから(==の後ろのverは適当)

“` requirements.txt
Flask==1.1.0
gunicorn==19.9.0
psycopg2==2.7.6.1
“`

psycopg2はpostgresqlをいじるためのライブラリだからpostgresqlいじらないときは不要
他はFlask使うなら必須

次はProcfile

“` text:Procfile
web: gunicorn hel

元記事を表示

実践データ分析 ノック1~10

**ダウンロードファイルはこちらから**
http://www3.shuwasystem.co.jp/support/7980html/5875.html

**環境:Google Colab**
#ノック1:データの読み込み
“`ノック1.py
import pandas as pd
customer_master=pd.read_csv(“custmor_master.csv”)
item_master=pd.read_csv(“item_master.csv”)
transaction_1=pd.read_csv(“transaction_1.csv”)
transaction_detail_1=pd.read_csv(“transaction_detail_1.csv”)
“`

#ノック2:データを結合(インデックス数を増やす)
“`ノック2.py
transaction_2=pd.read_csv(“transaction_2.csv”)
transaction=pd.concat([transaction_1,transaction_2],ignore_index=

元記事を表示

Lambda から S3 を使う (Python)

バケットの一覧

“`py:list_buckets.py
# ——————————————————————
import json
import boto3
print(‘Loading function’)
s3 = boto3.resource(‘s3’)

def lambda_handler(event, context):
print(“*** start ***”)
#
it = 1
#
for bucket in s3.buckets.all():
print(str(it) + ‘:’ + bucket.name)
it += 1

return {
‘statusCode’: 200,
‘body’: json.dumps(‘Hello from Lambda!’)
}

# ——————————————–

元記事を表示

Pythonでtupleのlistを複数キーの昇降順を指定してソートする

# やりたいこと

SQLでソートするときには

“`SQL
Select * from table Order By key1 DESC, key2 ASC
“`

のように各キーの昇降順を指定することができます。

またC/C++などでは比較関数を自分で定義することで同様のことができます。

“`c
int compare(const MyStruct *a, const MyStruct *b)
{
if(a->k1 == b->k1){
return b->k2 – a->k2;
}else{
return a->k1 – b->k2;
}
}
“`

一方でPythonではsortはkey関数と全体の昇降順しか指定することしかできず、複数要素を持つtupleをこのようにsortする場合はどうすればいいのか。

# 解決方法

公式docに書いてありました。
https://docs.python.org/3/howto/sorting.html#sort-stability-and-complex-sorts

元記事を表示

PythonでUDP同時接続

動画データをストリーミングするために,まず最初にシンプルな数字のデータを送受信できるプログラムを作りました!

# UDPを選んだ理由
最初はTCPでストリーミングサーバーを作っていたのですが,TCPだと一つのポートで複数のクライアントと同時通信ができなさそうだったので,StatelessなプロトコルのUDPで作ることにしました!

# 設定ファイル
“`connection.ini
[server]
ip = 127.0.0.1
port = 1935

[packet]
# [bytes]
header_size = 4
# [pixels]
image_width = 256
image_height = 256
“`

# 受信側
“`python:server.py
import socket
import configparser
import logging

logging.basicConfig(level=logging.DEBUG)

config = configparser.ConfigParser()
config.read(‘./connection

元記事を表示

Flaskの個人用メモ その2

Flaskを業務で初めて利用するため、メモ書きをする。
今回はその2。

その1は[こちら](https://qiita.com/speedstar18fct/items/eb0159c109172a90ca70)

### 参考
[Webアプリ初心者のFlaskチュートリアル](https://qiita.com/kiyokiyo_kzsby/items/0184973e9de0ea9011ed)

# DB(SQLite)操作

## 設定用ファイルの作成

作成するファイルは最低限3つ

– `__init__.py`
– 中身は空でOK。モジュールとして呼び出す際に__init__.pyという名前のファイルが必要なため作らないといけないらしい
– `datebase.py`
– DB設定系のファイル
– `models.py`
– テーブルのカラム情報を定義するためのクラス管理用

## sqlalchemyのインストール

“`
pip install sqlalchemy
“`

## SQLite3をシェルから使えるようにする
https://www.sq

元記事を表示

Flaskの個人用メモ その1

Flaskを業務で初めて利用するため、メモ書きをする。

### モジュールの利用

“`python
from flask import Flask,render_template,request

# from モジュール import クラス1, クラス2, クラス3…

“`

### GETリクエストの受け取り方

“`python
# requestクラスを使用
from flask import Flask, render_template, request

name = request.args.get(“name”)
“`

### POSTリクエストの受け取り方

“`python
# requestクラスを使用し、POSTで受け取った場合のメソッドを用意する
from flask import Flask, render_template, request

@app.route(“/post”, methods = [“post”])
def post():
name = request.form[“name”]
# リストの場合

元記事を表示

Kaggle Titanic data set – Top 2% guide (Part 03)

*本記事は @qualitia_cdevの中の一人、@nuwanさんに作成して頂きました。
*This article is written by @nuwan a member of @qualitia_cdev.

##Part 03
#### Data analyzing and feature engineering

This phase is very important. Many data scientists spend time in this phase. We have to identify which features to keep, which to remove and, what sort of features we can obtain by other features.

###### Gender Distribution

“`titanic_demo.py
data = combined_df.loc[combined_df[‘Survived’].notnull()]
sns.countplot(x=’Sex’, hue=’Surv

元記事を表示

OTHERカテゴリの最新記事