Python3関連のことを調べてみた2019年12月24日

Python3関連のことを調べてみた2019年12月24日

【2019年度】進撃の壁外調査結果報告@新宿カレー区

Classiアドベントカレンダー24日目です。
(*タイトルからわかるように当記事はアニメ「進撃の巨人」よりインスパイアをうけております。)

どうも、エルヴィン(Classi データAI部の平田です。)です。

当報告内容は、昨年の結果報告の続きになります。
https://qiita.com/tetsuya0617/items/73fc69bcf1fc889097af

## 壁外調査結果報告とは
我々、壁外調査兵団による食の都である新宿の美味しいレストランを奪還していった2019年の軌跡をふりかえる調査報告書になる。今年度の報告内容のアジェンダは、以下。

– 実績報告: 調査兵団のメンバー数の増員と奪還数
– 調査結果振り返り: 奪還先の画像収集 from Google Chrome .feat Chrome Driver
– 調査結果振り返り: 画像データの整備 .feat Google Vision API
– 調査結果振り返り: Google Auto ML Vision API によるラベルつき分類モデルの構築。

~~- 奪還先の画像郡をDCGANにかけて、新しいカ

元記事を表示

[機械学習]初心者に向けてアヤメ分類を一から解説してみた

こんにちは。ひろちょんです。

**機械学習**を始めたばかりの初心者が、様々な記事を参考にしつつ**アヤメ分類**をしてみます。
説明を加えながら書いていくので、是非参考にしてみてください!

↓記事を読む前に筆者について知りたい方へ↓
[>>>詳しいプロフィールはコチラ](https://heacet.com/about-me/)

~目次です~
1. [対象読者とか書いてみる](#h-jump1)
2. [《Google colaboratory》で進めていきます](#h-jump2)
3. [色々とimportしていく](#h-jump3)
  ・[オートパイロット状態でimportする奴](#h-jump31)
  ・[scikit-learnの様々な機能をimport!!](#h-jump32)
4. [アヤメのデータセットをじっくり見ていく](#h-jump4)
  ・[インスタンスを生成](#h-jump41)
  ・[アヤメデータはどうなってるの?](#h-jump42)
5. [Pandasを用いてデータを分かりやすくする](#h-jump5)
  ・[配列をDat

元記事を表示

PythonでのSlackbot開発

## はじめに
本稿は[SLP KBIT Advent Calendar 2019](https://adventar.org/calendars/4214)の24日目の記事です.
お久しぶりです,がっきーです.
今回は,Slackbotを作成したのでその記録を書いていこうと思います.

## 開発の経緯
私の所属しているサークルでは,主な連絡ツールとして **無料プラン** でSlackを利用しています.
そういった中で,多くのメンバがワークスペースにしているため,
ときに関係のない話題でメンションが行ってしまうことがあるため,その軽減をできないかと思い,
ユーザグループ管理を行うことができるbotを作成することにしました.
(最もすべてのメッセージに対する通知を有効にされていては意味がありませんが…)

## 開発環境及び使用技術
– Ubuntu 18.04 LTS
– Python3.6
– slackbot
– slack-client

## ワークスペースへのbotの導入
[こちら](https://qiita.com/croissant1028/items/8d

元記事を表示

matplotlibのfigureをエクセルにペタペタ貼る

# 背景/目的
画像ファイルがいっぱい出来るのがうざいので、1つのエクセルにペタペタ貼りたい

# 方針
figureを画像形式でファイルに保存し、xlsxwriterのinsert_imageで画像を貼る
一度書き出すのが無駄に思えるが、これが一番簡単だと思う

# サンプルコードと結果イメージ
“`python
import matplotlib.pyplot as plt
import numpy as np

# サンプルfigure作成
plt.close(1) # なくてもいいけど初期化的な気持ち
fig, ax = plt.subplots(1, 1, figsize=(6,3))
ax.barh(y=range(10),width=range(10))
plt.tight_layout()

# 画像を保存
image_file_path = ‘tmp.png’
fig.savefig(image_file_path)

# 新規ワークブックを開く、シートを作る
import xlsxwriter
workbook = xlsxwriter.Workbook(‘tm

元記事を表示

Pythonista3のUI実装で遊ぶ[画面遷移]

# はじめに
更新が遅くなってしまいましたが、引きつづきPythonistaのUI実装についてです!
前回までの記事に引き続いて、今回は画面遷移を実装しようと思います。
いやいやまだPythonista全然触ったこともないんだけどって方は以下の記事も読んでみていただけると幸いです。
(ストーリー性はないので、前提知識さえあれば下記記事読まなくてもこの記事は理解できます)

[過去記事]
[Pythonista3のUI実装で遊ぶ[超超入門]](https://qiita.com/EkatoPgm/items/31c84b458f47752e3517)
[PythonistaのUI実装で遊ぶ[画面要素]](https://qiita.com/EkatoPgm/items/c382996be664cdf64d78)
[PythonistaのUI実装で遊ぶ[Actionの実装]](https://qiita.com/EkatoPgm/items/7b54e850b1b1c64acb13)

# 画面遷移
単一の画面で完結しているアプリはほとんどありませんよね。
PythonistaでUIを実装

元記事を表示

Django-SESとAmazon SESでメール運用しようとした時に詰みまくった話(最速の運用手順も紹介)

## はじめに
これは[Django Advent Calendar 2019](https://qiita.com/advent-calendar/2019/django) 24日目の記事になります。
クリスマスイブでもDjangoについて考えている自分に誇りを持って、記事を書きました。笑

まだまだ初心者の身ですが、Djangoを勉強していて、ある点で何時間も詰まりました(少し新しい詰まり方?)。参考文献が英語にしてもジャストな記事が無かったので、『他の方がここで躓いて欲しくない』という気持ちで、この記事を書くに至りました。

## 今回の記事の構成
最初は読者層を広げるためにDjango-sesとAmazon-SESをつかってメール配信を行える最速の手順をご紹介します(。・_・。)
その次に、一応今回の本題である詰まった部分を紹介したいと考えています!

## 対象読者
タイトル通りなのですが、『**django-ses**と**Amazon SES**(Amazon Simple Email Service)を利用して、メールを配信しようと思っている方』へ向けての記事です。

元記事を表示

仮想環境構築でmatplotlibがインストール出来ない!

# matplotplibが入らない!!!
実務作業で仮想環境の構築が必要になった・・・でも、

“`
pip install -r requirement.txt
“`

でエラーログが出てくる…

# 概略
いろいろ試しましたが、結果的には、requirement.txtに入っているライブラリのバージョンと、インタプリタとして使ったpythonのバージョンが違っただけのことでした。

以下、自分の争いの痕跡です。

正当な解決方法は[こちら](https://qiita.com/Masakida0514/items/be07cbeb4e7f5d92220d)に示しましたので、時間が無い方は先に見てください。

#### 著者の環境
OS: Windows
CPU: Intel Cereron N4000 64bit
IDE: Pycharm
Python: 3.8 32bit版
仮想環境: venv

#### requirement.txtの中身

“`bash:requirement.txt
appnope==0.1.0
attrs==19.2.0
backcall=

元記事を表示

VPS + Flask で、おうちの状況をどこでも確認

* 今年は Advent Calendar に 2 つ参加することができました。
* もうひとつは[こちら](https://qiita.com/andromedroid/items/d29072d807e24d2dbfbd)です。

## Prologue

* IoT 家電が普及してきたことで、家の各種状態を
外出先から見るということの需要が増えてきました。

* でも、家庭内 LAN の機器に WAN から接続するためには
[NAT 越え](https://ja.wikipedia.org/wiki/NAT_traversal)などのややこしい話をクリアする必要があり、
一歩間違えば家庭内 LAN を`脆弱`にしてしまうリスクもあるため、
安易にオススメできません。

* そこで…

## VPS を使って家庭内 LAN と公開サーバーを切り離そう

* 今は VPS のプロバイダーや契約プランが増え、ワンコインから
契約できるため、気軽に利用できるようになりました。

* VPS を利用して、家庭内 LAN の機器を WAN に公開することなく、
家庭内の状況を監視するように

元記事を表示

Python,Pipenvで環境構築!For Windows 10

## はじめに
Windows 10に開発環境を映したときにPythonの構築に苦しめられたので書き残しです.
WindowsでPythonを始める方の手助けになればとも・・・

##構築環境
– Windows 10 Home
– Python 3.7.5

## Python,Pipの準備
– [Pythonの公式](https://www.python.org/downloads/windows/)からPythonのインストーラーをダウンロードしてきます.
– ex. “`Download Windows x86-64 executable installer“` これが個人的におすすめです.
– インストーラーを実行してPythonをインストールしましょう.
– この時のインストール場所のパスをどこかに記録しておいてください(メモ帳とか)

![スクリーンショット (1)-1-1-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182036/8fd7e0be-989

元記事を表示

【jinja2】ハイフンの位置による改行の変化

# はじめに
<バージョン>
Python: 3.7.4
jinja2: 2.7.2

jinja2テンプレートでfor/if文を書く際に、ハイフンの有無や位置で改行のされ方が変わります。
for文を書くときにいつも迷うのでまとめます。
以下の出力を得るにはどう書けばよいのでしょう?

“`jinja:出力
start

apple0
orange0

apple1
orange1

end
“`

# パターン1:全てにハイフンを入れる
以下のテンプレートが今回の基準になります。
for文の開始位置、終了位置の前後それぞれにハイフンを入れます

“`jinja:jinja_test1.j2
start
{%- for i in range(2) -%}
apple{{ i }}
orange{{ i }}
{%- endfor -%}
end
“`

# パターン1:実行結果
appleとorangeの間だけ改行が入ります。
for文の中に書いてある内容は勝手に改行してくれるようです。

“`jinja:出力
startapple0
orange0apple1
oran

元記事を表示

Mapillaryのmap_matchingライブラリを使ったPostGISによるマップマッチング

#はじめに
「マップマッチング」とは位置データから道路ネットワーク上の移動した経路を特定することを指します。 プローブデータと呼ばれる車両の位置データ記録を道路データとマップマッチングすることにより、道路の所要時間や走行速度といったパフォーマンス指標を算定します。

一般的な地図サイトでは、「経路探索」はサービスされています。経路探索は、pgRoutingやQGISのprocessingにある経路探索プラグインのように、あらかじめ指定した2点間の最短経路情報や経路候補を出力します。

一方マップマッチングによるプローブデータ解析では始終点の2点ではなく、移動体の走行軌跡とマッチする経路情報を得る必要があります。

目的にあったQGISのprocessingツールには、Offline-MapMatchingというのがありますが、2.18でなんとか動いていたものの3.xではフリーズしてしまいます。
また、範囲が大きくなるとかなりスローになってしまう特徴があります。
https://github.com/jagodki/Offline-MapMatching

ということで色々と調べた結果、

元記事を表示

楽楽精算のAPI連携をPythonで行ってみた。

# 楽楽精算のAPI連携をPythonで行った経緯

業務で楽楽精算を使っていて、マスタ取込を自動化したいということで、
楽楽精算のAPI連携を利用してみました。
頂いたサンプルプログラムがJavaであり、中間サーバーにJavaがインストールできないことから、
Pythonで実装することになりました。
私がPythonでWebAPIを呼び出すのが初めてだったこともあり、トラブルの連続でしたので、
その記録を残すことにしました。

# 解答
インポート、定数宣言、ログ出力、エラーハンドリングなど割愛しています。
実際は定数などはコンフィグ読み込みにしてどのマスタ取込でも使いまわせるようにしました。

“`python
def call_import_csv():
# API呼出
url = (‘https://’ +
DOMAIN + ‘/’ +
ACCOUNT + ‘/api/’ +
VERSION + ‘/csvimport’)
headers = {
‘X-RS-apitok

元記事を表示

機械学習 ~アンサンブル学習~

### アンサンブル学習とは
アンサンブル学習とは

アンサンブル学習には二つの方法がある。
1.バギング(Bootstrap Aggregating)
 多数の識別関数を独立に学習
 学習した識別関数を全てを用いて予測し,多数決などにより結果を判定
2.ブースティング
 識別関数を学習
 その識別関数で誤分類したデータを正しく分類できるように,新しい識別関数を学習
 これを何度も繰り返す

### バギングのやり方
学習データを複数組作成(Bootstrap Sampling)
作成した学習データごとに識別関数(弱分類器)を学習
(この時作成する識別関数はなんでも良い)
識別関数ごとにテストデータを予測,結果を統合

### ブースティングのやり方
学習データを用いて識別関数を学習
その識別関数によって誤分類したデータを対象に,正しく 分類できる識別関数を別途学習
複数回繰り返した後,重み付けにより結果を統合

### バギング
ブートストラップ(Bootstrap Sampling)
 P個の学習データから,重複を許し,P個のデータ*をサンプリング(復

元記事を表示

python3でtkinter を使って入出力画面の基礎の基礎

## やりたかったこと
pythonを使い始めて、いろいろなことができることがわかってたレベルです。コマンドプロンプトから使ってきましたが、GUIで入出力をするツールもできるんじゃない?と思ってまずは自分向けのサンプルを作りました。
#### なぜシンプルなサンプルを書いたか
「tkinter」「GUI」「テキストボックス」で検索していくつかのサイトがヒットしますが、いきなり電卓が動いていたり、tkinterを初めて使う身としては説明が一部しかなかったり、入力のみ・出力のみだったり、でしたので、基礎の基礎である、入力して表示する部分のみを書きました

まずは動いたので、自分用の備忘録として記録します
早急に説明を追記する予定です
ここまでできれば、あとはCUIで書いていたものを追加すれば、検索キーを入力して、その結果をGUIで表示することもいつもの手順でできるので、一安心です。
## イメージ
![tkinter-sample.png](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

pythonで正弦波の音をステレオのwavで出力する

# はじめに
~~M-1が面白すぎて投稿が遅れてしまった。~~
 この記事は [Pythonその3 Advent Calendar 2019](https://qiita.com/advent-calendar/2019/python3) の23日目の記事です。この記事ではnumpyなどで生成した正弦波をステレオのwav形式で出力する方法について記述します。

# 概要
今回はLchに880Hzの正弦波Rchに440Hzの正弦波を出力する5秒間のwavファイルを出力しようと思います。

## コード
“`python

import numpy as np
import wave # wave
import struct # structpack

def createWavFile():
Fs = 44.1*1000 # 44.1 kHz
Lch = 880 # Hz
Rch = 440 # Hz
scale = 10**(-3/10) # -6dBで生成
t = 5 # 5秒
N = Fs*t # サンプル数

元記事を表示

ビジネスサイドがプログラミングしてみる

こんにちは![estie(エスティ)](https://www.estie.co.jp/)でビジネスサイド全般を担当している田中と申します。
こちらは[estie Advent Calendar 2019](https://qiita.com/advent-calendar/2019/estie)の【23日目】の記事となります!

##この記事の背景
まず経歴からご紹介すると、大学時代は経済学部というバリバリの文系で、新卒では大手不動産デベロッパーに就職。非常に古風な会社だったので、打ち合わせの基本装備は紙に電卓、会社パソコンは有線でしかネットに繋がらないといった始末でした。そんなITとは程遠い生活を送っていましたが、estieに入社し時代の最先端へタイムスリップすることになります。形から入るべく、真っ先にmac book pro(メモリ16GBにカスタマイズ)をポチりました。

そして12月も近づいたある日、VPoEの青木から「なんか記事書いてよ!」と言われて断るのが苦手な私は気づいたら優秀なエンジニアたちに混じって記事を書くことになってしまいました。
でもせっかくだから、

*

元記事を表示

Kaggleで初心者5人チームのリーダーとして参加した時の話

# 0. はじめに
皆さんがKaggleに初参戦したときのことを思い出してください。
恐らくは, 個人で始められた方が多いのではないでしょうか?

私も長らくその一人でした。
しかし, ある日Twitterで相互フォローしていたとある方から

![513E9490-2E40-4873-9E7E-07B0B0CAF772.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254846/0a383866-1dc9-573a-3348-d6fe162355a0.jpeg)

という@ツイートが届いたことで事態は一変します(※ツイートは改変しています)。

その2日後には, 初心者だらけの5人チームで[RSNA Intracranial Hemorrhage Detection](https://www.kaggle.com/c/rsna-intracranial-hemorrhage-detection) というKaggleコンペ(通称: 脳出血コンペ)にチーム参加することとなりました。

私自身もKaggl

元記事を表示

Docker+GitHub+HerokuでCI/CDっぽく

#やった事
前に記事で公開した[Qiitaタグ自動ジェネレータ](https://qiita.com/fukumasa/items/7f6f69d4f6336aff3d90)をWebアプリとして手軽に試せる様に公開しました。
ついでにGitHubで[ソース](https://github.com/fukumasa/auto-create-qiita-tags)も晒しています。

https://auto-create-qiita-tags.herokuapp.com/

※Freeプランなので30分間アクセスがないと休眠してしまいます。少し時間がかかる時があるのはご愛嬌という事で…

#全体図
Webアプリを公開するにあたり**Heroku**を使いました。GitHubとも連携させたのでこんな感じです。
GitHubにソースをpushすると自動的にHerokuでビルドが走りDockerコンテナのデプロイまでやってくれます。仕事での開発だと今時CI/CDなんて当たり前だと思いますが、個人でお金をかけずに環境作ってみたという感じです。

![qiita投稿用.png](https:/

元記事を表示

AtCoder Beginner Contest 148 参戦記

# AtCoder Beginner Contest 148 参戦記

## A – Round One

2分半で突破. 簡単なんだけど、なんかシンプルに書こうと思うと難しいなあと思った.

“`python
A = int(input())
B = int(input())

print(*(set([1, 2, 3]) – set([A, B])))
“`

## B – Strings with the Same Length

1分半で突破. 書くだけ. zip かなあと思いつつ使わなかった.

“`python
N = int(input())
S, T = input().split()

print(”.join(S[i] + T[i] for i in range(N)))
“`

## C – Snack

3分で突破. 最小公倍数が答えだけど、どう解けばいいんだっけ、最大公約数が分かれば分かる?と思いつつ、Google に「最小公倍数 Python」ってググったら `lcm(a, b) = a * b / gcd(a, b)` って出てきたので書いて終わ

元記事を表示

PythonでPixivのブックマークした画像を一括取得したいともがくお話~改修編~

#はじめに
本投稿は[前投稿](https://qiita.com/haraday/items/add722167d0d6f2342f9)後コードを見て改善したいと思ったところが
いくつかあったので改善したいと考え、
コードの修繕をすることにしました。
なお、改悪している気はしないのですが、
改悪になっていることもありますので、ご了承ください。
#開発環境
OS:Windows10 64bit 1903
CPU/Memory:i5-7200U/8GB
python 3.6.8 64bit版
エディター(?):VSCode version 1.38.1
#コードの復習
前回の完成品のコードを再度ここにかいておきます。

“`py:pixiv_download_CLI.py
from pixivpy3 import *
from time import sleep
import json
import os

#folder check
if not os.path.exists(“./pixiv_images”):
os.mkdir(“./pixiv_images”)
if n

元記事を表示

OTHERカテゴリの最新記事