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

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

オープンサイエンスのための自治体行政データの一例:if文ネスト構造を避けるコーディング

#本ページの狙い
Ⅰ:自治体のオープンデータ化における現場データの闇
Ⅱ:なるべく管理しやすいアーキテクチャ
Ⅲ:スパゲッティ化しないリーダブルコーディング例

の3点です。

※Japanese Community for Open and Reproducible Science (JCORS)のアドベントカレンダー2019年12月24日として書いてみます(遅れてすいません)。

###自己紹介
髙岡昂太(@chronologic1)と申します。臨床心理士、公認心理師、司法面接士。心理学系+児童福祉系の研究と技術開発をしています。特に、子どもの虐待や性暴力、DVなどに関する行政関係のディープなデータに対して、機械学習やベイズ統計、GISを多職種チームメンバーと行っています。また、週1日程度ですがトラウマや発達障害に対するCBTやアセスメント、家族支援をしています。

###動機
もともと子どもの虐待対応において、エビデンスに基づく政策決定(EBPM)を行うにあたり、コストベネフィットの推定をオープンデータを用いてしたかったのですが、そもそもオープンデータに必要なデータ自体を「作って

元記事を表示

shortcuts,使ってますか?

# はじめに
この記事は東京高専プロコンゼミAdventCalendar② 24日目 の記事です.
①https://adventar.org/calendars/4321/
②https://adventar.org/calendars/4322/

すでに日本では25日になっていますが,僕はハワイ在住なのでセーフです().

# 作るもの
今回は,前々から使いたかったiOS shortcutsのssh機能を使ってraspberry piに計算をさせる何かを作りました.

# shortcutsとは?
![Apple-Shortcuts-v2-logo-icon.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547432/d53056eb-0642-83ff-46eb-5fb75d0f2c86.jpeg)
>https://support.apple.com/ja-jp/guide/shortcuts/welcome/ios
ショートカットは、Appでの1つまたは複数の作業をすばやく完了するための機能

元記事を表示

BERTを用いたネガポジ分類機の作成

この投稿は 「自然言語処理 Advent Calendar 2019 – Qiita」 の25日目の記事です。

[siny](https://twitter.com/shinya_hd)です。

この記事では、2019年時点の自然言語処理において大きな役割を果たしているBERTを使ったネガポジ分類機の作成についてまとめました。

#はじめに
書籍、ブログやQiitaなどでBERTに関するナレッジはだいぶ出回って来たと思います。
しかし、自然言語処理に活用できるデータセットの多くが英語をベースとしており、日本語のデータセットがあまりない状況のため、なかなか日本語のテキストを使ってBERTを活用するという事例、情報が少ないと感じました。

現状、無料で使える日本語データセットとしては以下がメジャーかと思います。

– [青空文庫](https://twitter.com/shinya_hd)
– [Twitter日本語評判分析データセット](https://twitter.com/shinya_hd)
– [SNOW D18 日本語感情表現辞書](https://twitte

元記事を表示

ゼロからはじめるChIP-seq解析

# はじめに

ChIP-seq(chromatin immunoprecipitation followed by sequencing)は特定の転写因子の結合やヒストン修飾がゲノム上のどの位置でどれぐらいの頻度で起こっているのかを網羅的に測定する方法です. この記事を読めば環境構築から始めて論文のデータを用いて解析を行い, 最終的に結果をゲノムブラウザで見たり, ピークコールをやったりするところまでできるようになりますよ~. それでは早速環境構築から始めましょう!

# 環境構築

## miniconda3のインストール

まずはパッケージマネージャーであるminicondaをインストールします. パッケージマネージャーは環境構築時のツールのインストールや管理を簡単にできるようにしてくれます.

Linuxの場合

“`
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

bash Miniconda3-latest-Linux-x86_64.sh
“`

Macの場合

元記事を表示

WindowsにAnaconda3のインストールする際のメモ

##概要
Windows10にAnaconda3のインストールを簡単にまとめました。
*(個人的な備忘録です)*

##目次
1. Anacondaとは?
2. 構築環境と今回インストールするライブラリ達
3. インストールとバージョン確認
4. condaとpipのアップデート
5. 各種パッケージのインストール

##1. Anacondaとは?
Pythonにはたくさんの便利なライブラリが用意されており、高度な数値計算やデータ分析、機械学習などが簡単にできるようになっています。
しかしそれらのライブラリの多くはPythonに標準で付属しておらず、別途自分でインストールし、環境を整えなければいけません。

Pythonに慣れている人やすでに利用している人にとっては簡単ですが、初めての人にとって環境構築は意外と面倒くさいです。
これに対して、AnacondaはPython本体と、Pythonでよく利用されるライブラリをセットにしたPythonパッケージです。
AnacondaをインストールするだけでPython本体とライブラリがインストールされるため、環境構築がかなり楽になります。

元記事を表示

リザバー(Reservoir)に意識は宿るか?(記憶、概念獲得、判断、予測)

| 推論グラフ
(-0.5 * Sin) |予測グラフ
(Sin)|予測動画
(車載カメラ)|
|:—————–:|:——————:|:——————:|
|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78212/0ebb7323-e3ef-5ea8-3ddc-740d55e54669.png)| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78212/a47c067b-47db-2953-e3f5-e2e226d75ca1.png)||

右端にあ

元記事を表示

node-REDでKeiganmotorロボットアームをAI制御し捺印ロボットを作る

#概要
 最近、自動ハンコロボットが巷で流行ってますね。実は私流行る前にやってたぞ、ということで11月末にnode-red LTで発壇した際の自動捺印ロボットアーム、通称「上司要らず」について紹介します。
 働き方改革やワークライフバランス改善が叫ばれる中、時流に逆行するがごとく執拗に蔓延るハンコ文化。
それに乗じ、増加の一途をたどる「ハンコ押すだけ上司」。なんとかこの状況打開できないか?そこで自動でハンコを押す装置製作を思い立ったのです。

参考リンク:
https://japanese.engadget.com/2019/12/17/1-2-2019/

#構成
##1.装置構成
 実際の位置決め精度を考えればXY軸移動のほうがよさそうですが、水平多関節の方が動きがかっこいいですよね。障害物があっても回り込んで回避してアームを動作させられるなどメリットもあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542127/75b83d63-7dc3-307c-606d-847d

元記事を表示

PyCharm環境が壊れたと思ったらファイル名のせいだった話

# はじめに
これはFatal Python errorが出てPyCharm環境が壊れたと思ったら.pyファイル名のせいだったという話です。
初心者あるあるだと思いたい。

## 環境
Windows10 + Anacondaでpython 3.7の仮想環境を作りPyCharmで実行
この組み合わせにたどり着くまでに幾度も苦難があったため、既にpythonに恐れを抱いている人間がこの記事を書いています。

# エラー発生までの経緯
Python3エンジニア試験の勉強中に出てきたreprlibについて、動作確認しようと思い以下のコードを書いて.pyファイルを作成しました。

“`python:
import reprlib
reprlib.repr(set(‘abcdefg’))
“`

2行なので超気楽に実行するとまさかのエラー。。。

“`python:
Fatal Python error: initsite: Failed to import the site module
Traceback (most recent call last):
File “C:\XXXX

元記事を表示

UbuntuServer18.04 + Apache2でPythonCGIを動かすまで

## 経緯
– デスクトップのWindows10がぶっとんだ
– Djangoが使えなかった
– でもでもWebアプリっぽいの作りたい!

___そうだ!CGIにしよう!___
というなんとも情けない経緯で始めることになりました。
実際にやってみると微妙なところで結構詰まったりしたので___この通りにすればとりあえずは動くはず___と言うのを紹介していきます。

## 前準備
– サーバに固定IPアドレスを割り当てる
– 自宅であればルーター設定から割り当てられるはず
– 携帯とか会社はわかんない
– ネットワークをDDNSと紐付ける([MyDNS.JPの説明](https://nw.myds.me/synology/setup-domain/))
– 117.125.xxx.xxxとかでアクセスするのダサい
– グローバルIPアドレスを晒すことになり非常に危険
– なんかそれっぽくなる
– Python3をインストール済み

## Apache2の準備
### インストール
“`
sudo apt install apache2
“`
これ

元記事を表示

Pythonのunittestでの、assertLogs()の使い方

Pythonのプログラムにおいて、「特定の処理が正しくログを出力していることを確認したい」というときはありませんか?unittestのメソッド`assertLogs()`はその疑問を解消するためのメソッドです。

* [unittest \-\-\- ユニットテストフレームワーク — Python 3\.8\.1 ドキュメント](https://docs.python.org/ja/3/library/unittest.html#unittest.TestCase.assertLogs)

ただ、日本語の利用例がなく、公式リファレンスももうちょっと分かりやすく書いて?な感じだったので、実動例を作ってみました。

# `assertLogs()`とは

`with`文を利用するメソッドの一つで、`with`文内で発生した、ログの出力を、指定のコンテキストマネージャオブジェクトに格納する というメソッドです。よって単体でアサート処理を行うわけではなく、別の`assertXXX`メソッドと組み合わせて利用します。

“`py:test_XXX.py
import unittest
imp

元記事を表示

Jupyter NotebookでModuleNotFoundError: No module named XXXを解消する方法

#この記事について
`pip3`で`Selenium`を落としたのにJupyter Notebookを開くと以下のようなエラーがあってハマったので、対処法を記事にしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/464595/c52fe772-6a71-dce7-be4a-7eb202fb1452.png)

##参考
[pythonのパッケージの保存場所](https://qiita.com/ophhdn/items/4d3ecc6354d92b7ac0ba)で、なんとなくパッケージの場所のPATHが通っていないんだと悟りました。
[MacでPATHを通す](https://qiita.com/nbkn/items/01a11392921119fa0153)でパスを通してみましたが、動きませんでした。

よって今回は自力で解決したので、以下にそのやり方を説明します。

##原因調査
まず、コンソールで、`pip3 show [Package Name]`のコマンドを叩き、Se

元記事を表示

ESP32のbluetooth用の画像専用FTPを作った件

##はじめに
qiita adavent calender 2020 12/24の記事です
始めての投稿なのでご容赦ください

ESP32のSPIFFSから画像データ(bitmap)を送りたかったので簡単な画像転送用のプログラムを作った話です

## 環境
送信側
・ESP32(Arduino)
受信側
・python
## コード
まず、ESP32側で必要なライブラリを読み込み、シリアルbluettohを始めます

“`Arduino
#include
#include
#include
#include “BluetoothSerial.h”

BITMAPDecoder bitmap = BITMAPDecoder();

BluetoothSerial SerialBT;

void setup(){
SerialBT.begin(“ESP32”);
}
“`

次にESP32側でループ処理に入り信号(f)を待たせます

“`Arduino
void loop() {
if(SerialBT

元記事を表示

【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 に公開することなく、
家庭内の状況を監視するように

元記事を表示

OTHERカテゴリの最新記事