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

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

【高等学校学習指導要領 情報Ⅰ】教員研修用教材:データの形式と可視化(python)

#はじめに
今回は文部科学省のページで公開されている情報Ⅰの教員研修用教材の「第4章情報通信ネットワークとデータの活用・巻末」内の「データの形式と可視化」について、Rのソースコードの個所を、pythonで実装及び若干の補足考察をしていきたいと思います。

#教材
[高等学校情報科「情報Ⅰ」教員研修用教材(本編):文部科学省](https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm “高等学校情報科「情報Ⅰ」教員研修用教材(本編):文部科学省”)
[第4章情報通信ネットワークとデータの活用・巻末 (PDF:10284KB)](https://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2019/09/24/1416758_006_1.pdf “第4章情報通信ネットワークとデータの活用・巻末 (PDF:10284KB)”)

#環境
– ipython
– [Colaboratory – Google Cola

元記事を表示

matplotlibのTimes New Romanがボールド体になる問題

下記のプログラムを追加すると解決します.

“`
import matplotlib

del matplotlib.font_manager.weight_dict[‘roman’]
matplotlib.font_manager._rebuild()
“`

元記事を表示

matplotlibでTimes New Romanが使えないとき (Ubuntu)

下記のようなエラーが出る場合.

“`
UserWarning: findfont: Font family [‘Times New Roman’] not found. Falling back to DejaVu Sans.
(prop.get_family(), self.defaultFamily[fontext]))
“`

Terminalから以下のコマンドを入力することで解決する.

“`
$ sudo apt install msttcorefonts -qq
$ rm ~/.cache/matplotlib -rf
“`

`ttf-mscorefonts-installer`はTabで選択したい位置にカーソルを合わせてEnterを押す.

元記事を表示

【Python】Lambda関数ってどう使うんだろ??【殴り書き】【初投稿】

■公開理由
・qiitaに挙げるっていう意識高い系の皆様を見て「自分も簡単なことで良いからアウトプットする習慣を作りたい!」って思った為
・『Pythonチュートリアル』の本を読んでいて、いまいち使い方がイメージ出来なかったので

■Lambda関数とは
・無名関数って呼ばれるやつらしい。
 いつもはdef 関数名():みたいな感じでいろいろとコード組んでいかないといけないんですけど、それを省略して関数を定義出来るみたいです。
 関数を組むための手間を省略出来ていい感じって事らしい。。。(レベルが高い方はそういう恩恵を感じているようですね。。。私はまだ感じれないですね汗)

■文法

“`
lambda 引数: 返り値
“`

■サンプルコード※変数にlambdaを入れるのはPEP8違反なのであれですがわかりやすいので。

“`python:test.py
a = 100
b = 50

abSum = lambda a, b: a + b
abSub = lambda a, b: a – b
abMul = lambda a, b: a * b
abDiv = lambda

元記事を表示

Spotify APIを使ったヒット予測1.過去データの日付ランキング作成

![spotify.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/661171/fcc2b392-eab3-6680-feb3-37d748c430cd.png)

spotifyのAPIを使ってヒット予測を作ってみました。
今回はまず取り掛かりの第一回目として、
1.過去のランキングデータを取得
2.取得したランキングデータをまとめてグラフ化
をやっていきます。

##1.過去のランキングデータを取得
https://spotifycharts.com/regional
から日本の日別トップ200ランキングを取得しました。
過去数日ないとランキングの推移が出せないので、ここでは2020年7月1日〜7月13日のデータを取得しています。

取得したファイル一覧がこちら
![A7A8FC26-C4A3-4CB9-A06B-BAB03EC652BA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/661171/399e6e9c-

元記事を表示

【Python初心者】classの使い方とは?5stepsで理解しよう!(メソッドとインスタンス)

今回目指すアウトプット
——————

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616412/37fdd220-eb23-4878-0f2b-b675d44c1a5f.png)

結論
——————
・クラス
・メソッド
・インスタンス
の3つを定義する。

“`Python:結論
class クラス名(): #クラス名をつける
def メソッド名(self): #メソッド名をつける
実行したい処理 #実行したい処理
インスタンス名 = クラス名() #インスタンス名をつける

インスタンス名.メソッド名() #呼び出す
“`

各論
——————–

classの定義(step1)
————–
“`Python:step1
class クラス名(): # <--- これをまず覚える ``` ↓ classの使い方(step2) --

元記事を表示

RaspberryPiのカメラでリアルタイムでゴニョゴニョするためのコード

使いたいライブラリに合わせて適宜利用すればOK。
物体検知とかにどうぞ。

# PILバージョン
“`python:PILバージョン
from time import time
init_start = time()

import os
from datetime import datetime
from PIL import Image

from picamera import PiCamera

camera = PiCamera()
init_end = time() – init_start
print(‘initialize time:’, init_end)

while True:
nowtime = datetime.now()
filename = nowtime.strftime(‘%H%M%S’) + ‘.png’
camera.capture(filename)
with Image.open(filename) as frame:
# ここでゴニョゴニョする
os.remove(filename)

元記事を表示

Python3: CouchDB のデータを削除 (Delete)

“`py:couch_delete.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
#
# couch_delete.py
#
# Jul/27/2020
# —————————————————————-
import sys
import json
import requests
#
# —————————————————————-
sys.stderr.write(“*** 開始 ***\n”)
#
key_in = sys.argv[1]
print(“%s” % key_in)
#
url_json = ‘http://localhost:5984/nagano’
url_key = url_json + ‘/’ + key_in
#
rr=requests.get(url_key)
#
unit_aa = json.loads(rr.text)
#
if

元記事を表示

Python3: CouchDB のデータを更新 (Update)

“`py:couch_update.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
#
# couch_update.py
#
# Jul/27/2020
#
# —————————————————————-
import sys
import json
import datetime
import requests
#
# —————————————————————-
sys.stderr.write(“*** 開始 ***\n”)
#
key_in = sys.argv[1]
population_in = int(sys.argv[2])
print(“%s\t%d” % (key_in, population_in))
#
url_json = ‘http://localhost:5984/nagano’
url_key = url_json + ‘/’ +

元記事を表示

Python3: CouchDB のデータを読む (Read)

“`py:couch_read.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
#
# couch_read.py
#
# Jul/27/2020
#
# —————————————————————-
import json
import sys
import requests
#
# —————————————————————-
def dict_display_proc(dict_aa):
for key in sorted(dict_aa.keys()):
if ((key != ‘_id’) and (key != ‘_rev’)):
unit = dict_aa[key]
name = unit[‘name’]
str_out = str(key) +”\t”+ str(name)
str_out += “\t” + str(

元記事を表示

Python3: CouchDB のデータを作成 (Create)

“`py:couch_create.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
#
# couch_create.py
#
# Jul/27/2020
#
import sys
import requests
import json
#
#
# —————————————————————-
def dict_to_couch_proc (dict_aa,url_collection):
rr=requests.delete(url_collection)
try:
rr=requests.put(url_collection,'{}’)
except Exception as ee:
sys.stderr.write(str(ee) + ‘\n’)
#
for key in dict_aa:
value = dict_aa[key]
json_str = json.dumps (value)
url_target =

元記事を表示

Python プロパティの良さを探す。

pythonのプロパティに関しての記事です。

`__slots__`やコメント、型ヒントなどは省略しています。

## あまり恩恵がわかりにくい例

1.インスタンス変数のみ

“`
class Data:

def __init__(self):
self.x = “a”
“`

2.プロパティで書いたパターン

“`
class Data:

def __init__(self):
self._x = “a”

@property
def x(self):
return self._x

@x.setter
def x(self, arg_x):
self._x = arg_x
“`
✴︎1 _は直接アクセスして欲しくない変数につけます。

上記のクラスをどちらを使っても同じ結果になります

“`
data = Data()
print(data.x)
data.x = “b”
print(data.x)

>>a
>>b
“`

この二つの例だけでは恩恵

元記事を表示

リストとジェネレータ(データサイエンスの観点から)

Pythonを勉強し始めると,初期にはリスト”[ ] ”表記を学びます.
そしてだんだんと,リストの内包表記を学び始めて効率的なコードが書けるようになります.
そして次には,「ジェネレータが便利だよ!」という声が耳に入りますが,結局ジェネレータってなんなん・・・となるのではないでしょうか.
このジェネレータの便利な点の初歩をまとめました.

# ジェネレータの意義
ジェネレータを用いる意義の1つとしてあげられるのが

・使用メモリ量を抑えられる

という点です.これがリスト表記との決定的な違いであり,データサイエンスで大量のデータを読み込む必要があるときに効力を発揮します.

# ジェネレータ表記

“`list_comprehension.py
>>> [2 * num for num in range(5)]
[0, 2, 4, 6, 8]
“`

“`generator_object.py
>>> (2 * num for num in range(5))
at 0x109ce7840>
“`

上と下の違いは,外

元記事を表示

pythonでJIS X 0208をShift-JISやUTF-16に変換する

あることでJISコードを日本語変換したくなったときのやり方が分からなかったのでメモ。

# 方法
公開されているJIS X 0208コードの変換表を用いて連想配列を作成する
下は対応表
> http://unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0208.TXT
> http://ash.jp/code/unitbl21.htm

# プログラム
“`python:jis.py

import os
ar = []
with open(‘./JIS0208.TXT’) as f:
for t_line in f:
# 先頭がコメントの部分は除く
if t_line[0] != “#”:
sjis, jis, utf16 = os.path.basename(t_line).split(‘\t’)[0:3]
ar.append([jis, utf16])
# 例) ar[‘0x3B3D’] -> ‘0x8695’
# JIS -> UT

元記事を表示

Python3のノート

# はじめに

– OS
– Windows10 Pro
– Version
– Python 3.7.3

# 更新日時

|更新日|内容|名前|
|:–|:–|:–|
|2020.07.26 Sun|新規作成|Yamada|

# 参考資料

[Pythonエンジニア育成推進協会監修 Python 3スキルアップ教科書 ](https://www.amazon.co.jp/dp/B07YQ1RM1K/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)

[公式ドキュメント Python 3.7.8](https://docs.python.org/ja/3.7/)

# 最初のプログラム

“` python
print(‘Hello,World’)
“`

# 基本ルール

## 変数の宣言
– ハッシュ記号は変数名に利用できない
– ドルマークは変数名に利用できない
– 数字で始まる変数名は宣言できない
– Pythonのキーワードに使われている文字列は変数に

元記事を表示

Oxford Dictionaries APIの使い方

# Oxford Dictionaries APIとは
一言でいえば、かの有名なOxford Universityが提供する35か国語対応の辞書APIです。
月1000アクセスまでは無償で(商用も含めた)利用が可能です。
詳細は[こちら](https://developer.oxforddictionaries.com/about)。

## [FAQ](https://developer.oxforddictionaries.com/faq)より抜粋&意訳
> Who built the Oxford Dictionaries API?
>
The Oxford Dictionaries API was built by a team in Oxford Dictionaries which is a part of Oxford University Press. You can find out more about our API here, and more about Oxford Dictionaries here.

Q:誰がOxford Dictionaries

元記事を表示

複数のpython環境の整備(Windows)

python開発環境を構築する場合、anacondaやjupyterlab等を使う事が多い。しかしながら、筆者はターミナル実行が大好きなためanacondaやjupyterlab等を使用していない。
本記事では、そのような方に向けてpythonの開発環境の整備の仕方やpython2系、python3系など複数の実行環境を使い分ける方法を共有致します。
友人からこの方法を聞かれることが多かったため、今回記事にまとめました。

# 開発環境
– Windows10 Home (64bit)

# pythonのインストール
まずは以下よりpythonのIDEをインストールしてください。
※この際、インストールしたディレクトリをちゃんと覚えといてください。
カスタムインストールならば、インストール先を明示的に選べるのでオススメです。
Cドライブの見やすいところなどにインストールしましょう。
– [python-2.7.18.amd64-installer](https://www.python.org/ftp/python/2.7.18/python-2.7.18.amd64.msi)

元記事を表示

Python パッケージとモジュールの呼び出しについて

# 概要
– パッケージとモジュールの呼び出し方について記述方法を忘れないように残しておく

# 前提
– 下記のようなディレクトリ構成で各ファイルを配置

“`python
lesson
|- lesson.py *実施のコードを記載するファイル
|- utils.py *モジュールの内容を記載しておくファイル
|- __init.py__
“`
– utils.py中身

“`python
def f(word):
return(word) * 2
“`

# 記述方法
## フルパスで指定する場合
– lesson.pyは下記のように記載する

“`
import lesson.utils
r = lesson.utils.f(‘hello’)
print(r)

※hellohelloと表示
“`

## モジュールから呼び出す場合
– lesson.pyは下記のように記載する

“`
from lesson import utils
r = utils.f(‘hello’)
print(r)

※hellohelloと表示
“`

## 関数から呼

元記事を表示

Scrapy で画像ファイルをダウンロードする方法

# 目的
Scrapyでクローリングする方法は検索すればよくヒットするが、
ファイルをダウンロードする方法は出てこなかったので方法を記載する。
# 使用する言語、ソフトウェア
* Python3系
* Scrapy 1.73
* pillow
* boto3 ※ファイルをS3に保存する場合のみ必要

# 処理概要
ダウンロード対象が、画像か画像以外で使用する機能(Item)が異なるが、大筋は同じ。
また、ファイル保存先をローカルはもちろん、FTP、S3、Google Cloud Storageも指定が可能。

# ソースコード

画像ダウンロードにつかうItemsを作成。

“`python:items.py
class ScrapyImageItem(scrapy.Item):
image_urls = scrapy.Field()
“`

クローリング用Spiderを作成。
クローリングしたページ上にあるJPG画像URLを抽出し、Itemに画像URLを設定する。

“`python:spiders/image_dl.py
class ImageDlSpider(scr

元記事を表示

How to solve the problem [ tkinter can not work at the environment python 3.7.3]

Environment:
・MacOS Catalina 10.15.6
・pyenv 1.2.18
・Python 3.7.3

The first time I used the Tkinter package to create the GUI of my booklist APP, but there was an error occurred which showed that “No module named ‘_tkinter’.
スクリーンショット 2020-07-25 19.24.58.png
スクリーンショット 2020-07-25 19.18.33.png

  • OTHERカテゴリの最新記事