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

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

dashはjupyter notebookでは実行できなかった件

##①dashでjupyter notebook が実行できなかった

上記の問題は使用なために解決できない模様(多分)

##②jupyter notebook で、実行すると、

vscに記述して?ターミナルで実行するとエラーが表示された

“`
helloland@hellolandnoAir dash % python hello.py
File “hello.py”, line 21
SyntaxError: Non-ASCII character ‘\xef’ in file hello.py on line 21, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
“`

これは、エンコードがなんとかと問題だった

色々調べた結果、、、

ターミナルの実行コマンドが問題だった

正しくは、、、

“`
Python3 hello.py
“`

でした

元記事を表示

全都道府県病院の緯度経度データ

# 概要
下記、参考記事を見たときに自分の住んでいる県のデータが存在しなかったので、全県データでCSV・JSONの取得を可能とするツールを作ってみました。

## データ
対象病院(日本病院会リスト):
http://www.hospital.or.jp/shibu_kaiin/

JSONおよびtsvデータ:
https://github.com/kusunamisuna/hospitalgeodata/tree/master

### ソース全文
“`
import csv
import json
import time
import xml.etree.ElementTree as ET
import sys

import requests
from bs4 import BeautifulSoup

URL = ‘http://www.geocoding.jp/api/’
TSVPATH = ‘./tsv/’
JSONPATH = ‘./json/’
PREFTABLE = {“1″:”Hokkaido”,”2″:”Aomori”,”3″:”Iwate”,”4″:”Miya

元記事を表示

__call__についてのメモ

#はじめに
python、kerasともに初学者です。自分用の忘備録です。

#この書き方はなんだろう
Keras functional APIなるものを使うと、keras Sequential APIよりも複雑なニューラルネットワークを使うことができるとのことです。

そこで出てくるのが以下のような書き方です。

“`001.py
import keras
from keras import layers

inputs = layers.Input(shape=(784,))
dense_hoge = layers.Dense(64, activation=’relu’)
x = dense_hoge(inputs)# これ!
“`
dense_hoge は keras.layers.core.Dense クラスのインスタンスなのですが、インスタンス名に続けてカッコがあり、中に変数名_inputs_が書いてあります。

しかも最後の2行は、

“`002.py
x = layers.Dense(64, activation=’relu’)(inputs)
“`
とも書けると

元記事を表示

Raspberry PiのGPIO端子のスイッチ入力

# はじめに
Raspberry PiのGPIO端子を使用して、スイッチ入力を行う際の、プルダウン抵抗について。
Raspberry PiのGPIO端子は、3.3V、最大16mAで作動します。
また、Raspberry Piは複数のGPIOを使用できますが、**同時に流せる電流は50mAまで**です。

# 物理プルダウン抵抗
Raspberry PiのGPIO端子は最大16mAまでしか流せないので、抵抗を使って電流を落とす必要があります。オームの法則から、抵抗値を求めます。

“`math
R = \frac{V}{I}\\
R = \frac{3.3}{0.016}\\
R = 206.25
“`

最低206.25Ω以上の抵抗をプルダウン抵抗として使用します。余裕を持たせて、GPIO端子にかかる電流が3mA程度になるように1kΩ程度の抵抗を使います。
GPIO端子26本すべて使用する場合、78mAと許容量を超えるので、抵抗値を上げる必要があります。

## 回路例

GPIO入力端子として26番のGPIO7端子を使用しています。回路のハイインピーダンス(解放)状態を防ぐため、

元記事を表示

wikipediaにpythonからアクセスする方法

http://www.minekawada.com/wikipedia-python.html

目次
インストール方法について
pythonでwikipedia検索結果の候補一覧を出す方法
pythonでwikipediaのページを出力する方法
wikipediaのページをさらに詳しく見ていく

元記事を表示

Djangoテンプレートで呼び出し可能な変数を呼び出させないようにする

## 結論
オブジェクトに`do_not_call_in_templates = True`を付与する

“`py
class SampleCallableClass:
do_not_call_in_templates = True

def __call__(self):
pass

def sample_method(self):
pass
sample_method.do_not_call_in_templates = True
“`

## 概要
Djangoテンプレートでは、ある変数が呼び出し可能かどうかをまずチェックし、呼び出し可能であれば引数無しで呼び出します。

例えば、`{{ Hoge.fuga }}`において、`Hoge`が呼び出し可能である場合、これは`{{ Hoge().fuga }}`のように評価されます。

しかしながら、呼び出し可能なオブジェクトを呼び出さずにそのプロパティにアクセスしたいという場合があります。

例えば`Hoge`が列挙型である場合は引数無しでの呼び出し`Hoge

元記事を表示

DjangoのChoiceFieldを列挙型で指定する

Djangoの`models`における`TextField`や`IntegerField`、そして`forms`における`ChoiceField`に用いる`choices`には、これまでは以下のような形式の値が必要でした。

“`py
YEAR_IN_SCHOOL_CHOICES = [
(‘FR’, ‘Freshman’),
(‘SO’, ‘Sophomore’),
(‘JR’, ‘Junior’),
(‘SR’, ‘Senior’),
(‘GR’, ‘Graduate’),
]
“`

Django3.0からは`TextChoices`と`IntegerChoices`というクラスが追加され、以下のような書き方が出来るようになりました。

“`py
class YearInSchool(models.TextChoices):
FRESHMAN = ‘FR’, ‘Freshman’
SOPHOMORE = ‘SO’, ‘Sophomore’
JUNIOR = ‘JR’, ‘Junior’
SENIOR =

元記事を表示

[Python] Travis CI と CodeClimate を使って unittest の coverage を算出

# 概要

[CodeClimate](https://codeclimate.com/) のサービスの1つである test coverage 機能を使おうとしたのですが、予想以上に設定に手こずったので、記事にしておこうと思いました。

ネット上で掲載されている記事と環境が一部違ったりして辛かった…

# 対象者

* Travis CI は既に使えている
* CodeClimateについては、コード品質チェックまではできる
* CodeClimateのtest coverage機能がなぜか動かない…設定がおかしいのかな?

という方!(ものすごく限定的です)

## イメージ画像

CodeClimateへの通信経路のイメージを書いてみました。

![codeclimate_image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/327407/b4722ffd-9079-037b-d927-832e6589b29b.png)

## environment

|項目||
|:–|:–|

元記事を表示

最強のPySpark用Docker作った

# はじめに
PySparkの勉強始めよう!っておもったら結構めんどくさいですよね。

– 正しいJava Versionのインストール(Java8じゃないとだめとか)
– pythonの設定(Python3?2?3.5以上じゃないとだめ??)
– Jupyter notebookで快適に勉強したい
– 当然bigdataに挑戦したくなったらS3やAzureStorageでデータの読み書きしたい。
– ちゃんとした環境変数の設定。(JAVA_HOME? SPARK_HOME? なにそれ?)

全部、まるっとDokcerイメージにしました。

# イメージの内容物

baseimage: phusion/baseimage:0.11 (ubuntu 18.04ベース)
openjdk-8-jre
hadoop 3.2.1
spark 2.4.5
Anaconda3-2019.10-Linux-x86_64(python3.7.4)
Jupyter notebook
pixiedust 1.1.18

# 実行方法

まずはローカルで作業用ディレクトリを作成

“`shell

mkdi

元記事を表示

Pythonで「インターネット アクセスなし」から蘇る

# はじめに
**みなさん、突然の「インターネットアクセスなし」に悩まされていませんか?**

![netsh_test1 (3)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110876/0511c206-12cf-9556-09ab-57b64c051e46.jpeg)

私は悩まされていました。
定型業務を自動化するためにスクリプトを組んで古いPCに常駐させているのですが、
PCをつけっぱなしにしているといつの間にか「インターネット アクセスなし」の状態になっていて、手動でPCのネットワークを切断、再接続する必要がありました。
自動化して放置しているのにいつの間にか処理が止まってるの、怖いですよね。

そこで、スクリプト内でネットワークの状態確認、再接続を行うようにしてみたので紹介します。

(そもそもなんでインターネットアクセスなしになるのかとか分からないので詳しい人教えてください)

# 環境
・Windows7
・Anaconda3

# とりあえず結論(コード)
内容はほぼWind

元記事を表示

python でプロパティ呼び出し時にプライベート変数初期化したい

# やりたいこと
– メモリを大量に使うオブジェクトを格納するプライベート変数がある。
– 初期化処理を極力後回しにするため、初回の当該変数用プロパティ呼び出し時に初期化処理を走らせたい。

# やったこと
“`python
class Hoge():
@property
def fuga(self):
if not hasattr(self, ‘_fuga’):
print(“initialize!”)
self._fuga = “hello”
return self._fuga
h = Hoge()
print(h.fuga)
print(h.fuga)
“`
“`sh
initialize!
hello
hello
“`

コメント反映前の内容

“`python
class Hoge():
@property
def fuga(self):
if not hasattr(s

元記事を表示

numpy&numbaで世界最小ヒントの数独を解いた

# はじめに
Pythonで数独を解くってやり尽くされている感があるけど、このままだと自分の記憶にしか存在しないコードになってしまうので記事作成することにしました。(記事書くのめんどくさかったという理由が主だったりもするけど、まあコロナで春休みが1ヶ月も伸びて時間が有り余ってるので書きます)

# 方針

深さ優先探索。
空欄のマスに数独の条件を満たすような数字を小さい順に仮に入れてみる。仮に入れた状態で他のマス目でも同じことをしてみる。どこかで矛盾したら直前に仮定したところを修正する。これをひたすら繰り返す。いつか矛盾が必ず起きなくなり、空欄が全て仮定の値で埋まる。それが正解。

![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F8%2F8c%2FSudoku_solved_by_bactracking.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=7d4a1f06

元記事を表示

ラズパイにて、ラジコンカーを自作する-その3

# はじめに

ラズベリーパイにて、自作のラジコンカーをつくったので紹介します。
今回は、ネットワーク越しのラジコン制御になります。

![output_img_0008.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559938/741b3a2a-e687-8f1a-83aa-993149d8b72c.gif)

## ラジコンカー関連の記事
– [ラズパイにて、ラジコンカーを自作する-その1](https://qiita.com/kotaproj/items/11d72758b9b21e453216)
– [ラズパイにて、ラジコンカーを自作する-その2](https://qiita.com/kotaproj/items/f1f93d598dbf99785bb4)
– ラズパイにて、ラジコンカーを自作する-その3 ← 本記事

# 紹介する内容

– ラズパイ側のwebサーバ側の作成
– 外部PCからの制御
– iPhone(Pythonista)からの制御

# 作るものの全体

![raji

元記事を表示

2020年におけるnamedtupleのドキュメントの書き方

とある PR がきっかけで、namedtuple の属性には “Alias for field number xx” という docstring が自動的に設定されるということを知りました。

“`python
$ python
Python 3.8.1 (default, Feb 13 2020, 13:34:23)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from collections import namedtuple
>>>
>>> Coordinate = namedtuple(‘Coordinate’, ‘X Y’)
>>> Coordinate.__doc__
‘Coordinate(X, Y)’
>>> Coordinate.X.__doc__
‘Alias for field number 0’
>>> Coordinate.Y.__doc__
‘Alias for

元記事を表示

ラズパイにて、ラジコンカーを自作する-その2

# はじめに

ラズベリーパイにて、自作のラジコンカーをつくったので紹介します。
今回は、制御になります。

![output_7853_2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559938/aada34fb-3bbf-763b-b338-539bfe54a85b.gif)

## ラジコンカー関連の記事
– [ラズパイにて、ラジコンカーを自作する-その1](https://qiita.com/kotaproj/items/11d72758b9b21e453216)
– ラズパイにて、ラジコンカーを自作する-その2 ← 本記事
– [ラズパイにて、ラジコンカーを自作する-その3](https://qiita.com/kotaproj/items/0a4c919aa8883632f3d4)

# 紹介する内容

– ラズパイ側のラジコン制御

# 作るものの全体

![rajikon-qiita2.png](https://qiita-image-store.s3.ap-northeast

元記事を表示

Macで.bash_profile永遠に読み込めない話

前提として今回やろうとしたことは、
「Macでpython3をデフォルトで使用したい」
ということ。
しかし途中で躓いた本件について共有していきたい。

「Macでpython3をデフォルトで使用したい」
が為に、シェルにログインする度に読み込むファイルに以下の内容を書き込んだ。
「俺がpythonって言ったらpython3だと思ってね?」

過去にもその対象ファイルとして.bash_profileに設定を追加してうまくいった経験が多々あった。
しかし今回はここで相当つまづいた。
正直わかんなくて3ヶ月放置した。笑

結論として分かったことは、
「そもそも俺のMacさんのシェルbash使ってない。。。」って話。
じゃあ何使ってたの?っていうとzshっていうシェルだった。
要は使ってるシェルがbashだと思って.bash_profileに色々書き込んでたけど、
使ってんのzshだから意味ねーよと。

zshの場合代わりにzprofileってのがあって、
そこに同じようなこと書き込んだら無事成功。

もしMacで(もちろんMacじゃなくてもbashで)こんなことで困ってたら参考にしてくださ

元記事を表示

Pythonの配列と辞書型に関する標準ライブラリ利用tips

Pythonの言語学習の過程で、標準ライブラリの範疇で実施できるコーディングtipsをメモ。
実務ではNumPyやCounterなどの便利なライブラリで一撃かもしれないため、かなり基礎的かつ遠回りな書き方になると思われます。

### リストの値の出現回数をカウントする

2020.03.15
forで回す際にわざわざrangeの範囲指定をしていたのを修正
`for i in range(0, len(origin_list)):`

“`python
origin_list = [1, 2, 3, 4, 5, 1, 2, 3, 4, 1, 2, 3, 1, 2, 1]
counter_dict = dict.fromkeys(list(set(origin_list)), 0)
for value in origin_list:
counter_dict[value] += 1

# 結果
# {1: 5, 2: 4, 3: 3, 4: 2, 5: 1}
“`

結果を格納するディクショナリの初期化を行います。
元リストの値をkeyにするあたり一度ユニークな値だけに絞り

元記事を表示

Kaggle challenge Telecom Customer Churn Prediction

#kaggle challenge 解約率を下げよう
 法人のビジネスにとって解約率を下げることは極めて重要である。お客様都合で解約されるよりも競合解約されることの方がコントロールがしやすい。なぜなら、努力が効くからだ。
 では実際に解約率がだから高まってしまうのか考えてみよう。
もう一つ考えなければいけないことが解約の理由だろう。ビートゥービーのビジネスにおいても、個人の役割は重要である。
ディシジョンメーキングユニットをしっかりと考えないと全体像見誤る。放置的に考えなければいけない点だ。それから顧客の事だけを見ていてはいけない。社内のことも考える必要は営業の色だ営業の色が落ちている場合それにはお客様との関係が良くなって良くないことがある。なぜ営業が苦しんでいるのかそのその本質をデータからつまびらかにしたい。
 顧客満足度と同時に従業員満足度を考えなければならない。そしてその顧客とは誰なのかを考えなければいけないところにビジネスビジネスの難しさがある。目の前のお客様だけ見たしてもうまくいかないのだ。
 営業活動において3つの視点が必要だ。顧客の視点、自社の視点、競合の視点だ。このバラ

元記事を表示

Python 学習用(自分用)

## メソッド
### split

“`python

a = ‘one, two, three, four, five’
print(a.split(‘,’))
“`
“`
>>>[‘one’, ‘ two’, ‘ three’, ‘ four’, ‘ five’]
“`
### rstrip
“`python

x = “abcdefg”
print(x.rstrip(“efg”))
“`
“`
>>> abcd
“`

## 関数
### type
“`python

type(object)関数
print(type(‘object’))
“`
### len
“`python
str = “One cold rainy day when my father was a little boy he met an old alley cat on his street”

print(len(str.split(” “)))
“`
“`
>>>20
“`

## list型
“`python

numbers = [1,2,3,4,5,6,7]

元記事を表示

matplotlibで特定のデータにだけマーカーを適用する方法

#はじめに
[雑誌の掲載順をグラフ化するとき](https://seigenkousya.github.io/post/kirara_order_2020/)に、matplotlibで特定の項目にだけマーカー(グラフに打つ点)をつけたくなった(センターカラーのときにだけわかりやすいように目印をつけたかった)が、探しても全く出てこなかったのでメモ。
![max_2020.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332794/137da981-190f-4ff5-291f-3301a27bb9f7.png)
↑こんな感じで強調するために特定の値の時だけマーカーを適用したかった。

#環境
“`
$ uname -a
Linux kali 4.18.0

元記事を表示

OTHERカテゴリの最新記事