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

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

Django2 View(ビュー)の構成パターン

# 前提
初心者向け。実践では大体こんな理解が良いかもという説明です。

# 環境
– Windows 10
– Python 3.7.x
– Django 2.2.x

# まずはView(ビュー)の初期構成を確認する
Djangoでは、はじめに次のコマンドでプロジェクトとアプリのひな形を作ります。

“`console:
> django-admin startproject some_project
> cd some_project
> python manage.py startapp some_app
“`

するとフォルダーの構成は以下になります。

“`console:
> tree /f some_project
C:\***\SOME_PROJECT
│ manage.py

├─some_app
│ │ admin.py
│ │ apps.py
│ │ models.py
│ │ tests.py
│ │ views.py # <= 初期のView(ビュー)は1ファイル構成 │ │ __init__.py │ │ │ └─mi

元記事を表示

Bitcoin予測してみたら、簡単に85%の精度出た!

## 目次
1. 課題
2. 準備
1. データセットを準備
2. データセットを前処理
2. アルゴリズム選定
3. 検証
3. 改良
4. 結果
5. 展望

今回実装したソースコードは最後にあります。

## 課題
直後にBitcoinの価格がどう変化するかを予測すること。

## 準備
必要なライブラリをimport。

“`
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime as dt
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn import metrics
“`

### データセットを準備
以下サイトからCSVダウンロードができました。(`history_20191218.csv` というファイル名で保存

元記事を表示

競プロで使える!Python標準ライブラリ

# はじめに
– 競技プログラミングで使えるPython標準ライブラリを紹介します。
– 実際にPython標準ライブラリを使って解いたAtCoderの問題とコードも載せています。
– AtCoderでのPython3のバージョンは3.4.3です。
– 問題解説はしません。

# 標準ライブラリ
## [bisect](https://docs.python.org/ja/3/library/bisect.html)
**配列二分法アルゴリズム**

[bisect_left(a, x, lo=0, hi=len(a))](https://docs.python.org/ja/3/library/bisect.html#bisect.bisect_left)

ソート済みのリスト$a$に対して、$x$を$a$に挿入できる位置を返します。$a$に$x$が含まれる場合、挿入箇所は既存のどの$x$の値よりも前(左)になります。

[bisect_right(a, x, lo=0, hi=len(a))](https://docs.python.org/ja/3/library/bisect.

元記事を表示

恩師に捧ぐ!百ます計算ジェネレーター

# はじめに

## 背景

みなさん“百ます計算”をしていますか?してましたか?九九を計算するトレーニングとして使われるものです。実は、@daikikatsuragawa はその道を極めており、地元では負け知らずでした。

時は流れ、2019年某日、ふと思いました。
「先生、あれ、自力で作ってたのか…?」

もしそうだった場合、以下のデメリット(面倒)があります。

– 行と列をランダムに並び替える面倒
– 解答を計算する面倒

「先生から教わったものを…先生に還元したい…」そんなモチベーションで、今回“百ます計算ジェネレーター”と銘打って動作するPythonのプログラムを書きました。

お父さん、お母さんがお子さんに作ってあげるのもいいですね。

## Pythonの良い点

– Google Colaboratoryにより実行可能です。(環境構築の必要なし!)

# 百ます計算ジェネレーター

“`python
​import pandas as pd
import numpy as np
import random

r = list(range(10))
random.sh

元記事を表示

Python難読化のススメ

この記事はFUN advent calendar 2019 の8日目の記事です。
昨日の記事はこたくんによる[macOSでもスープが飲みたい!](https://qiita.com/kotambourine/items/4503718f2690af136892)です。

## おわび
深層学習の記事を書く予定でしたが、エラーを取れませんでした。学習が成功したらもう一本記事書きます。

## はじめに

Pythonはなるべく可読性が保証されるように設計された言語と言われています。例えば、他の多くの言語がコードを中括弧で区切るのに対して、Pythonはインデントで区切ります。これによって絶対にインデントが保たれたコードが出来上がります。人によって中括弧を置く場所の流儀が違う、なんてことは起こりません。また、標準ライブラリ、サードパーティライブラリがともに豊富で、様々な役割をこなせます。深層学習、スクレイピング、サーバーサイド、Webアプリなど、他にも色々なことができます。しかし、Pythonを使ってもコードに個人差は出てしまいます。今回はFizzBuzzを例にあげて、実際に見ていきます。

元記事を表示

listの中にlistを入れたい!

#今回の目的:Pythonのlist配列の中にlist配列を入れ込む
#####+=とappend()

“`python
#外側のリスト配列の作成
db=[]
#内側のリストの個数をxに入れる
#手法1appendを使う
x=10
[db.append([])for _ in range(x)]
print(db)

結果:
[[], [], [], [], [], [], [], [], [], []]
“`
appendは+=と違い,配列の一番後ろに要素を追加してくれます

また,以下の方法でも同じことができます
(コメントで教えていただきました)

“`python
#外側のリスト配列の作成
db=[]
#内側のリストの個数をxに入れる
#手法2
x=10
db = [[] for _ in range(x)]
print(db)

結果:
[[], [], [], [], [], [], [], [], [], []]
“`
こちらのほうがすっきりしていますね

元記事を表示

TensorflowLiteによるKerasモデルの圧縮

本記事は,[DSL Advent Calendar](https://qiita.com/advent-calendar/2019/muroran-it-dsl)の6日目の記事です.
研究テーマの引き継ぎがてら,Tensorflow Liteの使い方についてまとめます.

# TensorflowLiteとは
TensorFlow Liteは,TensorFlowやKerasで学習したモデルを,モバイル・組み込み端末上で動かすために,圧縮を行うフレームワークです.
float32形式で保存されているモデルの重みを,int8やfloat16形式に圧縮することができます.

リアルタイムで予測を行いたい,小型デバイスのStand-aloneで予測を行いたい場合は,ぜひ利用してみてください.

# 実行環境
Ubuntu16.04
Python 3.7.4
– TensorFlow 1.15.0
– Keras 2.3.1

# モデルの圧縮
圧縮するモデルは,ImageNetで学習済みのInceptionV3を使用します.
一度,InceptionV3モデルをh5ファイルに保存し,その後

元記事を表示

DataRobotを使って機械学習を自動化する

#はじめに
初めまして。今回は私の新卒として初めて携わった業務である、DataRobotを使った機械学習の自動化についてお話しいたします。機械学習に取り組む際に必ずしもDataRobotをオススメするわけではないということをご了承の上、お役に立てられる方が一人でもいらっしゃったら幸いです。

##DataRobotとは
DataRobotは機械学習およびプログラミングに関する知識を必要とせず、データを与えるだけで最適なモデルを構築してくれる機械学習プラットフォームです。DataRobotの特徴の一つとして、機械学習に最も時間を費やすとされる未加工データの変換プロセスを、自動的に探索的分析を実行することが挙げられます。与えられたデータの各変数タイプを識別し、平均、中央値、標準偏差など、数値レコードの統計的記述を生成します。これによって、ユーザーはExcelなどで手動でデータ分析することなく、データを探索したり、欠損値の自動補完を行います。
今回はpythonからDataRobotに教師データを送り、学習し、モデルをデプロイして、予測するまでの一連の流れを記述したいと思います。

元記事を表示

アラフォーCOBOL開発者がDjangoでWebアプリを作った話

#はじめに
Djangoを使用して初めてWebアプリを作成しましたのでその経緯や過程を書いてみました。この記事ではあまり開発内容には触れておりませんのでご了承ください。

#作ったもの
Web
[django-starchart.herokuapp.com](https://django-starchart.herokuapp.com/)

Github
[hayatek/star-chart](https://github.com/hayatek/star-chart)
汚いコードですが、公開します。。

#Webアプリの概要
フォームに入力されたGitHubリポジトリのスター数をGitHub APIより取得してグラフで比較することができるアプリです。

Celeryを使ってGithubから毎日1回データを取得して日次のグラフを作成するのと、月次では毎月1日のデータを蓄積したグラフを作成します。

#開発者について
IT業界の経験は10年以上、ずっとメインフレームコンピュータなどのレガシーな環境でCOBOLでの開発をやってきました。タイトルにアラフォーCOBOL開発者と書きましたが、

元記事を表示

Selection Sort

# Pythonで「選択ソート(Selection Sort)」
## はじめに

ここでは[「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」][1]の中で取り上げられている[「AOJ (Aizu Online Judge」)][2]の問題を自分で解いた際に学んだことや、こう考えれば分かりやすいと感じたことなどを自分への整理も兼ねてまとめています。
このテキストはC++で書かれているので、私のようにpythonで勉強をされている初学者の方の参考になれば幸いです。また私自身も初学者ゆえ、至らない点が多々あると思いますので、ご指摘・ご助言頂ければ喜びます。よろしくお願いします。

## 問題詳細

[ALDS 1_2_B: Selection Sort][3]
選択ソートで昇順に並べ替える問題です。
問題詳細は上記リンクをご参考ください
## 考え方
・以下の処理をN-1回繰り返す
  1. 未ソート部分から最小の要素の位置 minj を特定する
  2. minj の位置にある要素と未ソート部分の先頭要素を交換する

## pythonコード
“`python
def

元記事を表示

Movidius Neural Compute Stickの導入記事を清書する

# 自己紹介

こんにちは。北海道の片隅のしがないユーザ企業で社内SEをしているMeguMegu1978です。普段は社内で唯一のエンジニアとして、Djangoを使ってWebシステム作ったり、Docker使ってインフラやったり、はたまたスマホアプリ作ったりしてます。Qiitaでの記事投稿は久しぶりになります。

自分のボスはエンジニアではないのですが、ハードに明るかったり簡単なコーディングは出来る人で、自分と同じガジェット好きなところもあり、出社すると稀に怪しいガジェットが増えていたりします。

今回、アドカレを書くタイミングで [この記事](https://www.rs-online.com/designspark/ai-powered-identification-with-the-pidentifier-jp?&intcmp=JP-WEB-_-Pi-DS2-_-Mar-18-_-Pidentifier)を元にパーツを揃えて、画像認識で~~遊ぼうとしていた~~苦戦していたボスをヘルプした時の知見をまとめたいと思います。(なのでPythonは出てきますが、Python主体の話ではないで

元記事を表示

公開イベントを自動でカレンダーに突っ込むバッチを作ってみた

# はじめに
この記事は[Zeals Advent Calendar 2019](https://qiita.com/advent-calendar/2019/zeals) の20日目の記事です。
はじめまして!普段はZealsのプロダクトの開発PMをしている阿久津です。

本日は先日参加したミニハッカソン[Python mini Hack-a-thon](https://pyhack.connpass.com/event/153437/)で簡単なバッチを作成しましたので、紹介できたらと思います。
自社のプロダクトとは全く関係ないですw

## モチベーション
エンジニアが必要な情報は書籍やネットから得る事がメインかと思いますが、現場のエンジニアの生の知見や声からの発見も多いと思います。私自身、勉強会やハッカソンに行って他のエンジニアと交流することでとても刺激をもらっています。
興味のある分野のイベントには積極的に参加したいな、とという気持ちはあるものの、

– **探すのが面倒くさい**
– **すでにスケジュールがあって参加できない**
– **気がついたら行きたいイベントが終わっ

元記事を表示

Insertion Sort

# Pythonで「挿入ソート(Insertion Sort)」
## はじめに

ここでは[「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」][1]の中で取り上げられている[「AOJ (Aizu Online Judge」)][2]の問題を自分で解いた際に学んだことや、こう考えれば分かりやすいと感じたことなどを自分への整理も兼ねてまとめています。
このテキストはC++で書かれているので、私のようにpythonで勉強をされている初学者の方の参考になれば幸いです。また私自身も初学者ゆえ、至らない点が多々あると思いますので、ご指摘・ご助言頂ければ喜びます。よろしくお願いします。

## 問題詳細

[ALDS 1_1_A: Insertion Sort][3]
挿入ソートで昇順に並べ替える問題です。
問題詳細は上記リンクをご参考ください
## 考え方
・先頭の要素をソート済みとする
・未ソートの部分がなくなるまで、以下の処理を繰り返す
  1. 未ソート部分の先頭から要素を1つ取り出して、vに入れる
  2. ソート済みの部分において、vよりも大きい要素を1つずつ移動する

元記事を表示

Dev Muscle を支える技術

この記事は Brainpad Advent Calender 2019 20日目の記事です。

懸垂とは関係ありませんが夏に自転車乗って、足と腕に日焼けあとがくっきり残ってしまった @ushi_198 です。
今回は 18 日に紹介した Dev Muscle(懸垂をすると掛け声が飛び交う装置)について、
お伝えしたいと思います。

## 紹介と秘話
IT系の企業ならどこにでもある「懸垂マシン」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309546/997a45d9-4ed6-97b2-47b9-2037869d23f4.png)

この懸垂マシンを有効活用して集まる人々。(割と集まる)。

元記事を表示

pyenvを用いたPython3の環境構築 + PythonでHello World

## はじめに
本記事は[Volare Advent Calendar 2019](https://qiita.com/advent-calendar/2019/volare)の17日目の担当分です。
当記事では、Pythonを初めて使う人がPython3でHello Worldすることが出来るまでを取り扱います。

## もくじ
* この記事の対象
* 前提
* 手順
* Homebrewの導入
* pyenv/Pythonの導入
* PythonでHello Worldする

## この記事の対象
macOS
Windowsは対象じゃありません、ごめんなさい。

## 前提
##### Xcodeがmacにインストールされている。
アプリケーション一覧から確認してなかったら、AppStoreからXcodeをインストールをしてください。

##### ターミナルが利用できる
commandキー+spaceキーでSpotlight検索を開いてterminalを起動します。
出てきた黒い画面(白い画面)にコマンドを入力し、環境構築を進めていきます。

## 手順

元記事を表示

Alpine Linux 3.10.3 Python3 NLTKを実行する

# 実行環境

docker-compose 1.23.2
VirtualBox 5.2.20
NLTK 3.4.5

# ディレクトリ構造

“`
/
├docker/
└ Dockerfile
├src/
└ test.py
└docker-compose-yml
“`

## Dcokerfile

“`
FROM python:3.7.5-alpine

# https://www.nltk.org/data.html
# > The downloader will search for an existing nltk_data directory to install NLTK data.
RUN mkdir /usr/share/nltk_data

RUN pip3 install nltk && python3 -m nltk.downloader all
“`

`python3 -m nltk.downloader all` を実行してダウンロードするライブラリを `/usr/share/nltk_data` に保存します。

元記事を表示

Fizz Buzz を解いてみた

## この記事について
[CODEBASE okinawa Advent Calendar 2019](https://qiita.com/advent-calendar/2019/codebase-okinawa) の19日目の記事にあたります。

## 内容
いい感じに**Fizz Buzz問題**をPython3を用いて解いていきます。
とりあえずやってみよう。

## Fizz Buzz問題とは
最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。ただし、**3で割り切れる場合は「Fizz」、5で割り切れる場合は「Buzz」、両者で割り切れる場合(すなわち15で割り切れる場合)は「Fizz Buzz」**を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。
『Fizz Buzz』 [Wikipediaより](https://ja.wikipedia.org/wiki/Fizz_Buzz)

### 整理して考えてみる
– 3 で割り切れる数字(3, 6, …)のときはFizz
– 5 で割り

元記事を表示

Chainerで機械学習【後日PyTorchに移行した記事に更新予定】

# はじめに
Chainerで作った機械学習モデルをPyTorchに書き換える記事を書く予定でしたが、ここ最近忙しくてまだ出来ていません。とりあえずPyTorchに書き換える予定のChainerで書いたfashion mnistを使ったオートエンコーダモデルについて紹介したいと思います。

## Chainer→PyTorchに書き換えるプログラムについて
今回PyTorchに書き換える機械学習モデルは、全結合のオートエンコーダです。
一般的なオートエンコーダ(Autoencoder)は、中間層に「入力のデータ量より少ない次元数」のニューロンを用意したモデルです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154154/b3bd8035-c92b-cfd4-056a-00ad6da00a97.png)

中間層は入力層よりも小さいことから、入力した特徴量より少ない特徴量でも数字を識別することが出来ることが分かります。
例えば、mnistの28×28の784次元の手書き文字データを入

元記事を表示

Python + RequestsでGaroon User APIからユーザーを取得してvCardを作る

###はじめに

・社用のスマートフォンに社員の情報を入れたいが、
 社員情報がまとまったCSVはない。
・弊社、garoon上に他社員の電話番号やメールなどの情報が掲載されている。
・User APIで全社員の情報取得してCard作ったれ
 
という、自分向けのとてもニッチな記事です。(変数名は気にしないで)
一般権限ユーザーでも取得できます。

ちなみに先日投稿した

Python + RequestsでGaroon REST APIから組織に所属するユーザーの取得
https://qiita.com/yamashi6/items/3a6fe96a6a2efb8a52e1
でもユーザー情報の取得は可能ですが、
User APIだとお名前の読み方も含まれているので今回はこちらを使用しました。

###参考にしたところ

cybozu developer network ユーザーエクスポートAPI
https://developer.cybozu.io/hc/ja/articles/202363040

カタカナをひらがなにするコードの詳細を知りたい
https://teratail.

元記事を表示

アイカツカードを読み取れ…!!!

##はじめに
– こちらの記事は[アイカツ! Advent Calendar 2019](https://adventar.org/calendars/4521)の19日目の記事となります。SHINING LINE*をまた繋ぎます。よろしくお願いします。
– 公開が大幅に遅延したことをお詫び申し上げます。
– [前回(15日目)](https://qiita.com/ricotan_aikatsu/items/620fb78e4099847084be)からの続きとなります。まだご覧になられてない方はこちらを先に見るよう推奨します。
– 前日(18日目)の記事はsnofraさんによる[声優歴何年目で「アイカツ!」シリーズの声優になったのかWikipediaをスクレイピングして確かめる](https://qiita.com/snofra/items/f803a8d9149f4c871e6e)です。

##自己紹介と学習している言語

白石莉子と申します。角川ドワンゴ学園N高等学校通学コース代々木キャンパスプログラミングクラスに所属している高校二年生です。高校内では女児向けアニメ同好会を創

元記事を表示

OTHERカテゴリの最新記事