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

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

中国の最新論文の方式で日本のコロナウィルスの感染者数を予測してみた

# 初めに
 2019年12月から中国湖北省武漢で発生した新型コロナ肺炎(Covid-19)が、日本にも広がり感染者数が増加しています。今後日本の感染者数がどう増えていくのか、興味があります。そのため感染予測モデルについて、論文を検索しました。
 すでに世界中から感染モデルが発表されていますが、感染モデルで予測するときに精度に大きく影響するのが、感染率や隔離率などのパラメータです。これらのパラメータが実際の数値と異なると、実情とかけ離れた予測となってしまいます。

 先日、中国の研究者からコロナウィルスの感染者数の予測モデルが発表されていました。
[COVID-19 in Japan: What could happen in the future?]( https://www.medrxiv.org/content/10.1101/2020.02.21.20026070v2)

 この論文では、予測モデルを中国の各地(武漢、北京、上海・・・)に適用して感染者数を精度良く予測できること、さらに日本に適用して今後感染者数が増加することを予測しています。またこの論文では、予測に必要な

元記事を表示

macOS の pyhon で nltk.download() をすると CERTIFICATE_VERIFY_FAILED が発生する場合の対処

`nltk.download()` を実行すると以下のように SSL のエラーが発生する

“`shell-session
$ python3 -c ‘import nltk; nltk.download(“all”)’
[nltk_data] Error loading all:
“`

以下を適当なファイル名で保存して実行

“`python
import nltk
import ssl

try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
pass
else:
ssl._create_default_

元記事を表示

PythonとDjangoを学び始めたので参考になったページを記載していく

随時更新します。

– [[Django] 自動テストについてのまとめ – Qiita](https://qiita.com/okoppe8/items/eb7c3be5b9f6be244549)
– [Python Django チュートリアル(7) – Qiita](https://qiita.com/maisuto/items/cce169a2455b116e2f82)
– [Django – データベースとテスト | django Tutorial](https://riptutorial.com/ja/django/example/5356/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A8%E3%83%86%E3%82%B9%E3%83%88)
– [Python クラスについて – Qiita](https://qiita.com/motoki1990/items/376fc1d1f3d59c960f5c)
– [self と cls とかが何か気になって調べてみた + @staticmethod

元記事を表示

仮説・検証(176)「いちばんやさしい量子コンピュータの教本」よりやさしい教本を作るには

「いちばんやさしい量子コンピュータの教本」よりやさしい教本を作るには

![519rZ5XAMxL.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/919dea84-9c25-6171-60c1-da6c5a01b22c.jpeg)

いちばんやさしい量子コンピュータの教本は、たしかに他の本に比べるとやさしい。
どんな本でもそうだが、読者を絞り込むと他の読者にはわかりにくくなるかもしれない。
そこで、「いちばんやさしい量子コンピュータの教本」とは違う分類、違う視点を示すことにより、よりやさしい教本を作ることを目指す。

https://github.com/kaizen-nagoya/way_to_quantum_computer/blob/master/text/easiest.md

まずは項目出し。

# 特徴

## 重ね合わせ
0と1である状態のまま計算していく。

## 確率
状態も結果も確率として

元記事を表示

Pythonista+sceneで画面スクロールを作成する

今回は、Pythonista+sceneで2Dアクションのスクロール処理を作成してみました。

## プログラム概要
キャラクターが移動したら画面をスクロールする。画面の端に移動したらスクロールをやめて自由に移動できるようにする。

## 実装した処理
実装した処理は以下の2つです。
・画面スクロール
・画面端の処理

### 画面スクロール
キャラクターが移動したら画面をスクロールする処理です。
スクロール中はキャラクターの位置はそのままで、背景やアイテムをキャラクターの移動と逆方向に移動することでスクロールを表現します。

![Pythonista_scroll.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/415049/61daa51a-ffeb-5bdf-c4bd-d426e5f6ad63.png)

コードは以下の通り。update()メソッドに追記します。

“`python:

def update(self):
g = gravity()
x = self.player.posit

元記事を表示

ターミナルによるDjangoアプリケーション作成まで(開発環境)

#■環境
 Windows10home
 Python3.7
 Pycharm

#■手順

##①仮想環境の作成(コマンドプロンプト)

###1)作成したいディレクトリへ移動
 例:C:\python_project へ移動

“`
 C:\Users>cd C:\python_project
“`

###2)仮想環境作成(python -m venv(仮想環境名))
 例:venv_python_dev という仮想環境作成

“`
 C:\python_project>python -m venv venv_python_dev
“`

###3)仮想環境に入る(仮想内Scriptsの「activate.bat」実行)

“`
 C:\python_project>cd venv_python_dev\Scripts
 C:\python_project\venv_python_dev\Scripts>activate.bat
 (venv_python_dev) C:\python_project\venv_python_dev\Scripts>
“`

###

元記事を表示

全て同じ値の2次元配列を作る時の注意点

# 2次元配列でハマったところ

全ての要素の値が0である2次元配列を作り、それぞれの要素をカウントアップしていく場合に、ある行のある列を指定して値を更新すると全ての行の同一列が更新されてしまったので、今後同じところでハマらないように備忘録として残しておこう。

## ハマった時の2次元配列の作り方

以下のようにすると、4行10列の2次元配列ができる。

“`Python
array2D = [[0] * 10] * 4
“`

例えば、以下のように3行5列目の値を更新すると、、、

“`Python
array2D[2][4] += 1
“`

全ての行の5列目が更新されています。

[[0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0]]

上記のような作り方をすると、各行の配列は同一になるんですね。

## 各行をそれぞれ別の配列として作成する場合の作り方

これでい

元記事を表示

リストや辞書をデフォルト引数にする場合の注意点

#リストや辞書は参照渡しなので注意
“`py
def test_func(x, l=[]):
l.append(x)
return l

r = test_func(100)
print(r)

r = test_func(100)
print(r)
“`

デフォルト引数として空のリストにしたはずが・・・

“`text
[100]
[100, 100]
“`

#改良するには、下記のようにする
“`py
def test_func(x, l=None):
if l is None:
l = []
l.append(x)
return l

r = test_func(100)
print(r)

r = test_func(100)
print(r)
“`
出力:

“`
[100]
[100]

“`

元記事を表示

Django 静的ファイルの扱いについて

Djangoの静的ファイルの扱いがいまいち理解出来てなっかたので
調べて自分なりにまとめました。
staticディレクトリの配置する場所が参考にするサイトによって
設計が違ったりするとわからなくなってしまう…
`STATIC_ROOT`、`STATIC_URL `、`STATICFILES_DIRS `
この3つの意味をちゃんと理解できればそんなに難しい話ではなかった…

##STATIC_ROOTについて
“`python:settings.py
STATIC_ROOT = os.path.join(BASE_DIR,’static’)
“`

ローカルのサーバを動かしている段階では、Djangoが勝手に
各アプリディレクトリ直下のstaticディレクトリを自動で探してくれるため、
意識する必要はないみたいです。

しかし本番環境のWebサーバに静的ファイルを管理させる場合に設定が必要になります。
というのも本番環境のWebサーバにそれらの静的ファイルを管理させる場合、
それらのファイルを一箇所に集めることが必要になり、
どこに集めるのかを決めるのがこのSTATIC_RO

元記事を表示

Pipenvを利用した仮想環境上でdjango-admin startprojectコマンドでディレクトリがバグった時の話

##概要
Pipenvを利用した仮想環境上でdjango-admin startprojectコマンドで、
プロジェクトを作成しGitで管理をして開発を進めていたら、
途中でおかしくなった為、ディレクトリ構造を確認すると
Pipfileとmanage.pyが別のディレクトリになってることに違和感を感じた….
ディレクトリが一階層多いので調べたところ解決策があったのでメモ。

##結論
“`terminal
$ django-admin startproject 任意のプロジェクト名 .
“`
この最後の`ピリオド(.)`をつけることで解決。

##失敗パターン
“`terminal
$ django-admin startproject 任意のプロジェクト名

//下記の例の場合
$ django-admin startproject sample
“`
“`text:DirTree
sample/
 ├ sample/ ここでひとつ余分にディレクトリが作成される。
 │ ├ sample/
 │ │ ├ __init__.py
 │ │ ├ settings.py
 │

元記事を表示

【Kaggle・E資格もあるよ】データサイエンティストのスキルセットまとめ

データサイエンティスト向けのスキルセットを自分なりの観点でまとめてみました。
※研究者やAIパッケージ開発向けのスキルセットは除いています。

#目次
1. [データサイエンティスト協会のスキルチェックリストについて](#1-データサイエンティスト協会のスキルチェックリストについて)
2. [本記事で紹介するスキルセット](#2-本記事で紹介するスキルセット)
1. [Kaggle,AIパッケージ製品について](#2-1-kaggleaiパッケージ製品について)
2. [ディープラーニング協会E資格や統計検定等の資格について](#2-2-ディープラーニング協会e資格や統計検定等の資格について)
3. [完全初心者が初級者になるためにまず何をすべきか](#3-完全初心者が初級者になるためにまず何をすべきか)

#1. データサイエンティスト協会のスキルチェックリストについて
データサイエンティストのスキルセットで最も有名なのが、
おそらく**データサイエンティスト協会のスキルチェックリスト**だと思います。

2020/02/29時点での**最新のスキルチェックリスト*

元記事を表示

画像のドミナントカラーをk-meansクラスタリングで抽出

ドミナントカラー(dominant color)とは、配色全体を支配するような色相のことです。 –Google

5色抽出して、割合で円グラフを描きます。

input.jpg
out.png
input.jpg文字コードとかbase64とかハッシュ値とかいろいろ調べてみた

仕事上、エンコードやらデコードやらをいじる機会がありこの辺まったく知らないでいたのでいくつかのページを調べたまとめ。

# 文字コード

## 用語整理

### 文字列

文字列(もじれつ)は、単語や文章のような、文字の連なったもの。ストリング (string)、テキスト (text) という場合もある。コンピュータ、特にプログラミングの分野で用いることが多い。 (from Wikipedia先生)

### シーケンス

複数の値を順番に並べたものをひとかたまりにしたもの。pythonでは、シーケンス型と呼ばれる型(総称)があり、文字列のほかリスト(配列)やタプルもシーケンスに該当する。
要するに同じものがたくさん並んでいるもののこと。

## 文字コード

コンピュータの世界は全て2進数。すなわち0か1でしか物事を言い表せない。
全ての情報は0か1かのビットの並び(ビット列)として表現しなければならないのだ。

世の中の文字が0か1かの2種類しかないかというとそんなことはなくて、すでにこの記事上だけでも100種類くらいの文字が存在しているだろう。
では、この何種類もの文字を0と1

元記事を表示

Pythonの「痒いところに手が届くなぁ・・・」と思う機能

気が付いたら追記していく予定です。

# キーが連想配列に含まれるか
“`python
d = {
‘foo’: 1,
‘bar’: 2,
‘baz’: 3,
}

print(‘foo’ in d) # -> True
“`

# 連想配列からキーを抽出
“`python
d = {
‘foo’: 1,
‘bar’: 2,
‘baz’: 3,
}
print(list(d)) # -> [‘foo’, ‘bar’, ‘baz’]
“`

# 連想配列から値を抽出
“`python
d = {
‘foo’: 1,
‘bar’: 2,
‘baz’: 3,
}
print(list(d.values())) # -> [1, 2, 3]
“`

# 多重配列のループ
“`python
# Input
rows = [
[‘yamada’, 20],
[‘tanala’, 18],
[‘sato’, 18],
]

for name, age in rows:
prin

元記事を表示

【Udemy Python3入門+応用】 10.数値

**※この記事はUdemyの
「[現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル](https://www.udemy.com/course/python-beginner/ “現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル”)」
の講座を受講した上での、自分用の授業ノートです。
講師の[酒井潤](https://twitter.com/sakaijun “酒井潤”)さんから許可をいただいた上で公開しています。**

##■特殊な四則演算
#####◆商の整数部分を求める
“`:division_integer
>>> 17 // 3
“`
“`:result
5
“`
`//`により、
17÷3 = 5.6666666
の整数部分が返る。

#####◆商のあまりを求める
“`:division_remainder
>>> 17 % 3
“`
“`:result
2
“`
`%`により、
17÷3 = 5 あまり2
のあまりの部分が返る。

#####◆べき

元記事を表示

WindowsでPythonの開発環境構築 -AnacondaのインストールからAtomとJupyter Notebookの連携まで-

こんにちは。
Qiita初投稿でビビってます。間違い等があればバンバン指摘してください…!

# この記事について
この記事は以前[noteに投稿した記事](https://note.com/akihanari/n/n25a186e255cb?creator_urlname=akihanari)をまとめたものになります。
環境構築で詰まったところもあるので、備忘録として残しておこうと思います。

# 実現したいこと
Pythonの開発環境を構築する

– Anacondaのインストール
– Atomのインストール
– AtomとGit, GitHub, Jupyter Notebookを連携させる

# Anacondaについて
>Anaconda はデータサイエンス向けのPythonパッケージなどを提供するプラットフォームです。科学技術計算などを中心とした、多くのモジュールやツールのコンパイル済みバイナリファイルを提供しており、簡単にPythonを利用する環境を構築できます。
https://www.python.jp/install/anaconda/index.html

A

元記事を表示

pypiのlong_descriptionにMarkdownが使えなくてハマった話

# 結論

– 自作ライブラリ([mong](https://github.com/toshihikoyanase/mong)) を [pypi](https://pypi.org/project/mong/) に登録しようとしたらパッケージ説明(README.md)のフォーマットエラーで怒られた
– `long_description_content_type` は指定してあるのにreStructuredTextだと認識されている
– `setup.py` では `distutils.core.setup` ではなく `setuptools.setup` を使えば解決

気づけば解決は一瞬でした。あまりsetup.pyを一から作る機会はないので、今後のために記録しておきます。(3日後の自分は他人)

# 経緯

[mong](https://github.com/toshihikoyanase/mong)のpypiの説明文が崩れているのがずっと気になっていました。Markdownだと認識されておらず、 `setup()`の引数に`long_description_content_ty

元記事を表示

python3 でバイナリデータをシリアル通信で送受信する (mac で)

# やること

mac と python3 で USB シリアルドライバなどを使ってシリアル(UART)通信します。

# やりかた

pyserial を pip でインストールして import serial すればできます。python3 ではできないという記事が検索で沢山みつかりますが、2020/02/29 時点では python3 でもできました。

# 環境

– MacOS 10.15.3
– python3.7.4
– pip 19.2.3

# 手順

## pyserial のインストール

“`install.sh
$ pip install pyserial
“`

## 受信

シリアルで 1 byte 受信して、10進数表記に変換して標準出力にコードは以下の通りです。

“`serial_read.py
import serial
import struct

ser = serial.Serial(
port = “/dev/cu.usbserial-XXXXXXXX”,
baudrate = 115200,
#p

元記事を表示

Django サジェスト機能付きフォーム

この記事はDjangoのCreateView(汎用クラスビュー)を使い、
viewからtemplateへ値を渡すところのみの記述になります。

##サジェスト機能とは
検索サイトに調べたいことを入力する際に検索サイト側が
文字に続く候補を自動的に表示してくれる機能。

##アプリ概要
顧客管理アプリの顧客名入力フォームにてサジェスト機能を実装。
下記画像では`田`と入力すると、DBに保存されてる顧客名をリストで
フォーム下に表示し、該当の名前を選択するとフォームに値を挿入してくれる機能となります。
ss 2.png

##ModelFormを継承したフォームの作成
“`python:models.py
from django.db import models
from datetime import dateti

元記事を表示

【機械学習】scikit-learnを使ったLDAトピック分類

# LDAトピック分類について
– LDA = latent dirichelet allocation (潜在的ディレクトリ配分法)

LDAでは文章中の各単語は隠れたトピック(話題、カテゴリー)に属しており、そのトピックから何らかの確率分布に従って文章が生成されていると仮定して、その所属しているトピックを推測する。

– 論文 http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf
![ldapic.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573779/408e2b7e-0cf6-ebe6-aa89-d2ae04d00b30.png)

– alpha; :トピックを得るためのパラメーター
– beta; :トピック内の単語を得るためのパラメーター
– theta; :多項分布パラメーター
– w :word(単語)
– z :topic(トピック)

今回はこのLDAを使用して、

元記事を表示

OTHERカテゴリの最新記事