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

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

【高等学校学習指導要領 情報Ⅰ】教員研修用教材:MeCabによる形態素解析とWordCloudの作り方(python)

# はじめに
今回は文部科学省のページで公開されている情報Ⅰの教員研修用教材の「質的データの分析」についてみていきたいと思います。
ここでは、MeCabによる形態素解析とWordCloudをRで実装する例が書かれています。
今回はその内容をpythonに置き換えていきたいと思います。

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

#環境
– ipython
– [Co

元記事を表示

Python dir関数でmoduleが定義している名前を列挙する

Pythonのドキュメントを眺めていたら開発時に使えそうなdir関数を見つけたのでログとして残しておきます。
[6. Modules — Python 3.8.5 documentation](https://docs.python.org/3.8/tutorial/modules.html#the-dir-function)

## 引数あり

下記のコマンドでsys moduleが定義している名前の一覧を列挙できます。

“`python
import sys
dir(sys)
[‘__displayhook__’, ‘__doc__’, ‘__excepthook__’, ‘__loader__’, ‘__name__’,
‘__package__’, ‘__stderr__’, ‘__stdin__’, ‘__stdout__’,
‘_clear_type_cache’, ‘_current_frames’, ‘_debugmallocstats’, ‘_getframe’,
‘_home’, ‘_mercurial’, ‘_xoptions’, ‘abiflags’,

元記事を表示

Selenium でテキストボックスに入力する vba python

#Selenium or seleniumbasicテキストボックスに文字列を入力する
##前提
・vbaの場合は seleniumbasic pythonの場合はselenium がインストールされている
・環境はWIndows

##ポイント
1, inputタグに入力する前に消す Clear ※これがないと追記されてしまう。
2, valueの値でSendKeysができてるか確認
3, 早すぎると入力できてるか不安と言われるので sleep や waitを使う(これは状況に応じて)

以上を考慮し、
inputタグ(テキストボックス)にidのある場合で関数を作成してみました。

##VBAの場合
引渡値 = ①クロームドライバー ②inputタグのid ③inputタグに入力する値
戻り値 = 5秒以内に 成功=true 失敗=false

“`vba:inputタグ(テキストボックス)に入力する
Public Function MoveTextBox(driver As ChromeDriver, id As String, atai As String) As Boole

元記事を表示

【時系列】時系列データ予測 予測手法マップ

##1.本記事作成の背景
業務都合により、生産量予測や売上予測を担当しており、”時系列”と名のつく専門書を読んでいるが、予測技術を俯瞰的に整理した資料がなかったため、自分なりに整理をしてみた。

##2.技術マップ
整理するにあたり、予測の難易度を設定するにあたり
・定常・非定常
・線形・非線形
の2つの軸があるため、それぞれに対して適用に適している技術をまとめた。
なお、難易度は以下のように高くなっている。
・定常 < 非定常
・線形 < 非線形

上記を踏まえ、表の形でまとめた。

|定常性/線形性|線形|非線形|
|:—|:—|:–|
|定常|-自己回帰(ARMA, ARIMA, SARIMA,ARCH,GARCH,ECM)
-状態空間(カルマンフィルタ)
-深層学習
-ベイジアン動的線形
| -カオス解析(ロジスティック写像など)
-状態空間
-深層学習
-確率的ボラティリティ |
|非定常| -自己回帰(ARIMA)
-状態空間(拡張カルマンフィルタ、非ガウス型フィルタ、粒子フィルタ)

元記事を表示

pygameでn秒おきに音が鳴るタイマーを実装する

# はじめに
pygameというライブラリを使って、
指定時間おきに音楽が再生されるコンソールアプリを開発します。

# 背景

適性試験CABの対策を目的に作成しました。
これは大量の問題を高速で処理していかなければならないものなので、
1問あたりに何秒の時間をかけるか?という、時間の管理は非常に大切です。

この試験の対策をするにあたって、
例えば、30秒経ったよ!1分経ったよ!いま1分30秒!…のように、
経過時間を音で知らせてくれるアプリがあれば、『効率的に試験を解く』練習がしやすいと考えました。

というわけで

**n秒おきにアラームが鳴るコンソールアプリケーションを開発します。**

# 開発環境

– Python 3.8.3
– pygame 1.9.6

# ソースコード

とりあえず動いたら(使えたら)いいやという観点から作っているので、
指摘されるべき点はたくさんあると思います。

例:While Trueが終わらない

再生する音楽(音)はこちらでお借りしました。
[魔王魂](https://maoudamashii.jokersounds.com/ar

元記事を表示

コロナ禍だからこそ過去に自分が行った場所を友人に共有したい(編集中)

編集中の記事です。当方、何をするにも時間がかかるひよこエンジニアのため、
編集中ですが公開してます。すみません。。。

#はじめに
コロナ禍でも友人と会いたいです。(※ただの願望であって、実際にはここ数カ月はオンラインで我慢してます。)
ただ、友人の大切な健康と命がかかっている問題なので、
僕と会うことがどれくらいの感染リスクなのか、
僕ではなく友人自身に判断してもらいたいものです。
そのためには、僕が行った場所を簡単に可視化・共有できたらいいな、と思いました。

# 過去に自分が行った場所を友人に共有する手順(案)
以下、こんな方法がありえるんじゃないか?という案です。

1. 友人と会う約束をする
2. Googleロケーション履歴をオンにする
 (もし実際にオンにされるときは、個人の責任でお願いします。)
3. COVID-19の潜伏期間(2,3週間?)は、なるべくステイホームする。スーパーや薬局には行く。
4. 自分のロケーション履歴のKMLファイルをダウンロードする。
5. ダウンロードしたKMLファイルをパースする。(次のセクションで補足しています。)
6. パース結果を友

元記事を表示

Pythonの組み込み関数openのモックを作って単体テストする

# 組み込み関数を使っているメソッドの単体テストを行う
実ファイルを使わずにテストしたい場合、ファイルopenメソッドのスタブ(モック)を作ってテストします。

– `unittest`モジュールを使う
– `mock_open`という便利なメソッドがある
– `open`のような`組み込み関数`のモックを作成する場合は、名前に`builtins`を使い、`builtins.open`のように書く

# サンプルコード

## (テストしたいファイル。ファイルの読み書きを行っている)

“`
# file_mock_sample.py

class FileMockSample:
def my_func_1(self):
path1 = ‘/tmp/not_exist_file_1.txt’
with open(path1, mode=’r’) as f1:
lines = f1.readlines()
print(lines) # [‘line 1\n, ‘line 2\n’, ‘line

元記事を表示

Python 3エンジニア認定データ分析試験(2020年6月8日から開催した奴)

2020年6月20日(土)にPython 3エンジニア認定データ分析試験を受けました。
一応、合格したので記事を書いておきます。
少しでも次受ける方の参考になれば幸いです。

## 受験理由
■1 Pythonを用いたデータ分析手法に興味があったから。
■2 業務でPython(データ分析)を使う可能性があったから。

## 感想
■1 比較的簡単です。[プライム・ストラテジーの模擬試験](https://study.prime-strategy.co.jp/)の方が難しいですので、この模擬試験で「なぜ正解か」「なぜ間違っているか」を完璧に理解できれば、おそらく合格すると思います。とはいえ、主教材『Pythonによるあたらしいデータ分析の教科書(寺田ら, 2018, 翔泳社)は一度読むべきです。
■2 主教材の全ページからでるわけではありません(5章はでません)。[Python3 エンジニア認定データ分析試験の公式ページ](https://www.pythonic-exam.com/exam/analyist)から試験範囲を確認することをお勧めします。
■3 試験時に電卓、ペンは使えま

元記事を表示

初心者が機械学習をやってみたら(その5)

今回は、先にダウンロードした各種ボートレースデータファイルから、
必要項目を取得し、データベース(今回はMongoDB)に登録します。

データベースのコレクションは、各データファイル毎に
・番組表
・競走成績
・レーサー期別成績
の3コレクションを作成します。

#1.各種データの取得から登録します。

各種データファイルから必要項目を取得するためのポイントを何点か記録します。
説明は番組表で記述しています。

##1.1.バイナリモードで読み込む

番組表の文字コードはSJISですので、Jetsonにて解析するため、
バイナリモードにてファイルを解析します。

“`ソースコード(抜粋).
# filePath:番組表ファイルパス
# ‘br’:バイナリモード読み込み
with open(filePath, ‘br’) as raceData:
“`

##1.2.日本語はUTF-8で取得

バイナリモードで解析しているため、日本語部分は取得したデータをUTF-8に変換する必要がある。

“`ソースコード(抜粋).
# 選手名
# line[6:14]:選手名を表す部分バイト

元記事を表示

LeetCodeを100問解いてQiitaに記事を100件投稿してみた

# 概要

非情報系出身ということもあり、データ構造とアルゴリズムという領域にあまり馴染みがなかったため、とりあえず初心者を脱却するために[LeetCode](https://leetcode.com/)の問題を解いて記事を書く、という活動を100問続けてみました。

100回というのはキリが良さそうだったのと、Googleに[新しく始めたことを継続するといいよ!って言ってる人](https://www.ted.com/talks/matt_cutts_try_something_new_for_30_days?language=ja)がいたので参考にしました。(こちらは30日間ですが・・・)

この記事では活動を続けることで得られた知識や発見について書いて行こうかと思います。

なお、活動記録が見たい方は以下がまとめページとなっています。
Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

ひとまず100日間続けたので、Qiitaでの記事投稿はやめて、

元記事を表示

ゼロから始めるLeetCode Day100「108. Convert Sorted Array to Binary Search Tree」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

ゼロから始めるLeetCode Day99 「112. Path Sum」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

ゼロから始めるLeetCode Day98「39. Combination Sum」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

ゼロから始めるLeetCode Day97 「349. Intersection of Two Arrays」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

ゼロから始めるLeetCode Day96 「78. Subsets」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

ゼロから始めるLeetCode Day95「82. Remove Duplicates from Sorted List II」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

Pygameで簡単なスペースインベーダーゲームを作る方法

#0.はじめに
今回作るものがどういう感じで動くのか見てみたい、この記事を読むのが面倒くさい方は[こちら](https://youtu.be/RpOCuuevsVI)(Youtubeの動画)をご覧ください。長くなってしまったので記事を読んだ方が早いかもしれません。

#1.実装
“`space_invader.py
import pygame
import math
import numpy as np

win = pygame.display.set_mode((600,400))

class Ship:
def __init__(self,win):
self.x = 300
self.y = 350
self.width = 20
self.height = 40
self.vel = 1
self.win = win

def draw(self):
pygame.draw.rect(self.win,(255,255,255),(self.x,

元記事を表示

Pygameで紫の雨を降らせる方法

#0.はじめに
今回作るものがどういう感じで動くのか見てみたい、この記事を読むのが面倒くさい方は[こちら](https://youtu.be/nuLHApl4cGI)(Youtubeの動画)をご覧ください。

#1.実装
“`purple_rain.py
import pygame
import random

WIDTH = 640
HEIGHT = 360

win = pygame.display.set_mode((WIDTH,HEIGHT))

class Drop:
def __init__(self,win):
self.x = random.uniform(0,WIDTH)
self.y = -1
self.yspeed = random.uniform(1,3)
self.win = win
self.length = random.uniform(10,20)

def fall(self):
self.y += self.yspeed

def

元記事を表示

python3をjuypyter labで触りたい環境のメモ

## この記事と書こうと思った理由
macでpythonを使っていた私がAIを学ぶ上でjuypternotebookを使いたいと思ったがjuypterlabがエディタっぽくて使いやすくね?って思った私用メモ

**利点**
・エディタを使ったりIDEで作成したことのある人が見た目的に入りやすいこと
・環境をファイル上で確認できること

## 環境
>- mac book
>- vscode
>- python3
>- pipenv
>- juypter lab

~~~markdown:環境イメージ
macbook
• Linux brew
┗ • python3
┗ • pip
┗ • pipenv
┣ • juypyter lab
┗ • package(numpy,matplotlib等…)
~~~
注)違っている等の指摘どしどし待ってます。

## 目次

– 環境に沿って構築していく
1. [macなのでbrewを使い構築していく](#Linuxbrew)
2. [vscode -> brew cask](#vscod

元記事を表示

指定範囲内のアルファベットの出力

記録用

入力された文字列の最初と最後のアルファベットの範囲内のアルファベットを出力

chr()は整数値を文字に変換する関数。
ord()は文字を整数値に変換する関数。

65~90まで大文字、97~122まで小文字。

ex:ord(‘A’) =65 ,chr(65) =’A’

入力例
GINO

出力例
G
H
I
J
K
L
M
N
O

コード
“`
line = input()
n = len(line)

for i in range(ord(line[0]),ord(line[n-1]) + 1):
print(chr(i))
“`

元記事を表示

OTHERカテゴリの最新記事