- 1. だから僕はpandasを辞めた【データサイエンス100本ノック(構造化データ加工編)篇 #6】
- 2. collections.deque
- 3. 【PyTorchチュートリアル⑤】Learning PyTorch with Examples (後編)
- 4. Numeraiトーナメント -伝統的クオンツと機械学習の融合-
- 5. Python 再帰関数から非再帰関数への変換を考える
- 6. お絵かきソフト
- 7. お絵描きボード
- 8. 打撃成績計算機
- 9. 何か動くもの(範囲広め)を作った
- 10. AWS Cloud9においてPython用開発環境を整える (pip install & 時刻変更編)
- 11. Amazon EC2 インスタンスにAWS Cloud9開発環境を作成する
- 12. PythonのTKinterを使ったGUI構築について
- 13. パソコン甲子園2014 Floppy Cubeから始まるルービックキューブを解くプログラムの作り方
- 14. 2. Pythonで綴る多変量解析 2-3. 重回帰分析[COVID-19感染者率]
- 15. PythonでFizz Buzz
- 16. ゼロから始めるLeetCode Day81 「347. Top K Frequent Elements」
- 17. 【Python】Flaskアプリの基本構造を整理(目指せ脱コピペ)
- 18. Siriみたいな会話相手作ってみた
- 19. VScodeでnumpyをimportするとエラーが発生するときの対処法
- 20. pythonでスクレイピングを行い物件情報を取得する
だから僕はpandasを辞めた【データサイエンス100本ノック(構造化データ加工編)篇 #6】
# だから僕はpandasを辞めた【データサイエンス100本ノック(構造化データ加工編)篇 #6】
[データサイエンス100本ノック(構造化データ加工編)](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess)のPythonの問題を解いていきます。この問題群は、模範解答ではpandasを使ってデータ加工を行っていますが、私達は勉強がてらにNumPyを用いて処理していきます。
[:arrow_up:初回記事(#1)](https://qiita.com/nkay/items/6778bb6a6400ed985aa0)
[:arrow_backward:前回記事(#5)](https://qiita.com/nkay/items/a77fcb2dd3810d1f20c3)
:arrow_forward:次回記事(#7)## はじめに
NumPyの勉強として、[データサイエンス100本ノック(構造化データ加工編)](https://github.com/The-Japan-DataScien
collections.deque
“`py
import collections
import queuecollections.deque
q = queue.Queue()
lq = queue.LifoQueue()
l = []
d = collections.deque()for i in range(3):
q.put(i)
lq.put(i)
l.append(i)
d.append(i)for _ in range(3):
print(‘FIFO queue = {}’.format(q.get()))
print(‘LIFO queue = {}’.format(lq.get()))
print(‘list = {}’.format(l.pop())) #pop(0)でFIFO
print(‘deque = {}’.format(d.pop())) #d.popleft()でFIFO
print()
“`
実行結果:“`txt
FIFO queue = 0
LIFO queue = 2
【PyTorchチュートリアル⑤】Learning PyTorch with Examples (後編)
# はじめに
[前回](https://qiita.com/sudominoru/items/61f57946799e67cedd47)に引き続き、PyTorch [公式チュートリアル](https://pytorch.org/tutorials/) の第5弾です。
今回は [Learning PyTorch with Examples](https://pytorch.org/tutorials/beginner/pytorch_with_examples.html) の後編です。
[前編](https://qiita.com/drafts/c027f1fe9347f398c858/edit)は[こちら](https://qiita.com/drafts/c027f1fe9347f398c858/edit)です。# 3. nn module
## 3.1. PyTorch: nn
autograd だけでは、ニューラルネットワークのモデルを作成することはできません。
モデルの構築は、nnパッケージを利用します。
nnパッケージには、入力層、隠れ層、出力層を定義する Seque
Numeraiトーナメント -伝統的クオンツと機械学習の融合-
#はじめに
本記事は、Mediumの[Towards Data Science](https://towardsdatascience.com/)に寄稿した「[Numerai Tournament: Blending Traditional Quantitative Approach & Modern Machine Learning](https://towardsdatascience.com/numerai-tournament-blending-traditional-quantitative-approach-modern-machine-learning-67ebbb69e00c)」を和訳したものである。###Numeraiトーナメントについて
Numeraiはクラウドソーシング型ファンドと呼ばれる、不特定多数の人間による株価の予測結果をもとに運用するヘッジファンドである。Numeraiでは予測性能を競うトーナメントが開催される。トーナメント参加者はNumeraiから提供されるデータセットを元に予測モデルを構築し提出を行う。参加者はその予測性能に応じてランキングされ、報
Python 再帰関数から非再帰関数への変換を考える
# はじめに
再帰関数は便利な反面、欠点も抱えています。
そのため以前から再帰関数を非再帰関数に変換することがありました。
変換自体は出来ていたのですが、行き当たりばったりで何故そう変換出来るのか理論的に考えていませんでした。
一度しっかりと変換の過程を理論的に考えみたいと思いながらも機会が取れずにいました。
そんな中で、再帰関数の記事がトレンドに上がっていた事があり記事を書き始めました。
(ほったらかしにしていたので大分時間がたってしまいましたが)
別のプログラムを書いていて今更ながらスタックの重要性に気がついたのも要因です。もっとも、再帰関数の有用性を否定するものではありません。
筆者は、再帰関数が大好きです。# 想定読者
プログラム言語は、何でも良いので Python を使うことにします。
再帰プログラムを作るのに使用したアルゴリズム自体の説明はしません。
そのため、Python が分かりアルゴリズムも分かる(調べられる)方を対象と考えています。# コールスタックとスタック
プログラムの実行を制御する方のスタックを、コールスタック(Call Statck)と呼び
お絵かきソフト
#はじめに
ある教授のお絵描きアプリに憧れ自分でも何かできないかと思いました。
完成系
—
#作り方
##キャンバスメソッド
import tkinter
class Scribble:– 左クリックで点を描く
– sx.syを現在位置“`python
def on_pressed(self, event):
self.sx = event.x
self.sy = event.y
self.canvas.create_oval(self.sx, self.sy, event.x, event.y,
outline = self.colo
お絵描きボード
# Tkinterを用いてお絵描きボードを作る!
授業の中で扱った教科書の中のLesson7-3をプログラミングした際に、この描画を連続で行えば線を描けるのではないかと思っていたのを、調べながら形にしました。
___
#### Lesson7-3との違い– 教科書では、クリックという動作で円を描くことをプログラミングしていたが、今回はマウスボタンが押されている間ずっと描画されていること。
– 線を描くには描画される円が大きいと不自然になるので、なるべく小さい円を描画することでより自然な線を描けるようにしたこと。___
# コード紹介
実際にプログラミングしたコードを紹介します。“`python
import tkinter
def mouse_click_func(event):
global presspress = True
“`
まず、ここでマウスボタンをクリックすることを定義します。“`python
def mouse_release_func(event):
global presspress = False
打撃成績計算機
# はじめに
はじめまして。初投稿になります。
文章、成果物ともに稚拙なものとなりますが、温かい目で見ていただけるとうれしいです。—
# 動機現代の野球において、指標というものは一般化しつつあります。
このような計算機を作ったのは、指標を自分で算出できるようになれば、趣味である野球観戦をもっと楽しめると考えたからです。—
# 制作手順
まず、ウィンドウを作ります。
“`Python:window
# coding-utf:8
import tkinter as tk# ウィンドウを作る
root = tk.Tk()
root.geometry(“400×300”)
root.title(“打撃成績計算機”)# 実行
root.mainloop()
“`
—次にラベルを作ります。
“`Python:label
# ラベル
labell = tk.Label(root, text=”打席数”,font=(“Helvetica”, 12))
labell.place(x = 20, y = 20)
label2 = tk.Label(roo
何か動くもの(範囲広め)を作った
# 私の心境
なんか動くもの・・・?
___課題でPythonを使い何か動くものを作れと言われ、自分で少し考えたけど何も浮かばない…
とりあえず先生のQiitaの記事にある参考資料を見てみることにする
[先生のQiita](https://qiita.com/daddygongon/private/c0b34f8c6ad82a2443bd)
___## 難しそう
結論:どれも難しそうである。
___## 自分自身との決闘
ちょっとでも動けばそれは何か動くものになる。
**しかしそんなのでいいのか**
もっとQiitaの文章を参考にして立派なものを作らないでいいのか
自分の中で決闘が行われた
___## もっと探してみる
いいのが見つかった!
(Python初心者でググった笑)
**[タイマーの作り方](https://www.sejuku.net/blog/73265)**
初心者の私にも作れそう!!
(見栄を張ってすごいやつを作るのはやめた)
タイマー作っていく
___# タイマーアレンジしていく
本家はタイマーの最後星だけど文字だけにする
(みみっちい)
___
AWS Cloud9においてPython用開発環境を整える (pip install & 時刻変更編)
# 目次
1. 概要
2. pip installについて
3. Cloud9上の環境においての時刻変更# 1. 概要
「[Amazon EC2 インスタンスにAWS Cloud9開発環境を作成する](https://qiita.com/Q-Yeah/items/59af569083f0f4b3c1ef)」において、
Cloud9の環境構築方法について説明したが、より細かいpython環境を整えるための方法を説明する.
今回は、python用moduleを入れる方法 (pip install)と、Cloud9側の時刻環境を変更する方法について説明を行う.# 2. pip install
pythonを使うとなると、pip installなどで使いたいModuleを入れたくなる.
その方法についてまとめる.## 2-1. Cloud9環境を作成する
Cloud9環境を作成していない人は、[Amazon EC2 インスタンスにAWS Cloud9開発環境を作成する](https://qiita.com/Q-Yeah/items/59af569083f0f4b3c1ef)を参考
Amazon EC2 インスタンスにAWS Cloud9開発環境を作成する
# 目次
1. 概要
2. AWS Cloud9を立ち上げる
3. AWS Cloud9でPythonを使ってみる# 1. 概要
開発環境が欲しいけど、いちいちServerの設定をするのが面倒ですよね。。
そんなあなたに便利なのが、AWS Cloud9です。Serverの設定なしで、いきなりコードを書き始められます!
参照 : [AWS Cloud9](https://aws.amazon.com/jp/cloud9/)
>AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。
これには、コードエディタ、デバッガー、ターミナルが含まれています。Cloud9 には、JavaScript、Python、PHP などの一般的なプログラム言語に不可欠なツールがあらかじめパッケージ化されているため、新しいプロジェクトを開始するためにファイルをインストールしたり、開発マシンを設定したりする必要はありません。##きっかけ
Pythonを使ってExcelのGrep検索をしたく、色々と試行錯誤しておりました。
技術的に「ExcelGrepy」というWindowsアプリケーションを作り上げたのはいいのだが、どうもUIがうまく作れない。。。。なんというか、レイアウトデザインがめんどくさい。
UIを構成するに当たり、いくつかの選択肢はありました。
今回採用したTKinterとは別に、Kivy、wxPython、PySimpleGUIなど。
それぞれを比較するサイトはいくつもあるので、見てみて下さい。
##ExcelGrepyのレイアウトイメージ
ざっくりイメージはこんな感じ:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/249830/b8df85c1-f467-d7e6-a0d4-849f81a2aee0.png)
さて、これをPythonでどうやって表現するか。
##TKinterのレイアウト構成の手段
まぁいろいろと手段はあるのですが、以下サイトを参考に・・・。
パソコン甲子園2014 Floppy Cubeから始まるルービックキューブを解くプログラムの作り方
# はじめに
私はルービックキューブを速く解くスピードキューブという競技を趣味としているハードウェア/ソフトウェアエンジニアのNyanyan(にゃにゃん)です。今回は[パソコン甲子園2014のFloppy Cubeという問題](https://onlinejudge.u-aizu.ac.jp/challenges/sources/PCK/Prelim/0300?year=2014)を解説し、そこからルービックキューブなどの立体パズルを解くプログラムの**汎用的な書き方**を解説します。私は現在[2x2x2のルービックキューブを(おそらく)世界最速で解くロボット](https://youtu.be/1UNRxuZ3I38)を作っていて、そこで培った知識を使ってこの問題が解けました。この知識はこの問題にはオーバーキルなものなのですが、ぜひ紹介したいと思いこの記事を書いています。
# 問題の概要
## フロッピーキューブとは
![Image from iOS(10).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c
2. Pythonで綴る多変量解析 2-3. 重回帰分析[COVID-19感染者率]
重回帰分析によって一体どういうことが分かるのかということを、もっと具体的に見ておきたいと思います。
そこで、身近な統計データからサンプルデータを作って、それで重回帰分析をやって解釈を試みます。今回サンプルデータを作成するにあたって、次の2つのデータソースを利用しました。➀政府統計ポータルサイト「政府統計の総合窓口e-Stat」都道府県データ
https://www.e-stat.go.jp/regional-statistics/ssdsview/prefectures
➁厚生労働省「新型コロナウイルス感染症」各都道府県の検査陽性者の状況
https://www.mhlw.go.jp/content/10906000/000646813.pdfまず目的変数を、新型コロナウイルス感染者率とします。これを左右しているかも知れない説明変数には、いわゆる「3つの密」および感染拡大につながると考えられる「人々のアクティビティ」に関する指標として次の7つの変数を用意しました。
|指標名 |指標計算式 |調査年 |
|—|—|—|
|人口集中地区人口比率(%) |人口集
PythonでFizz Buzz
#Fizz Buzzとは
Fizz Buzzとはプログラミング初学者が最もはじめに解く問題のうちの1つです。
具体的には$1\sim100$までの数字を順に出力し、$3$の倍数の時にFizz、$5$の倍数の時にBuzz、両方で割り切れる時にFizzBuzzと出力するプログラムのことです。さっそく書いていきます。
#コード
“`Python
for i in range(1, 101):
if i % 15 == 0:
print(‘Fizz Buzz’)
elif i % 3 == 0:
print(‘Fizz’)
elif i % 5 == 0:
print(‘Buzz’)
else:
print(i)
“`#出力
“`
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
Fizz Buzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
Fizz Buzz
31
3
ゼロから始めるLeetCode Day81 「347. Top K Frequent Elements」
# 概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。
どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。
早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。
と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。
ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。
[Leetcode](https://leetcode.com/)
Python3で解いています。
[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)
前回
[ゼロから始めるLeetC
【Python】Flaskアプリの基本構造を整理(目指せ脱コピペ)
## はじめに
これまでなんとなく`flask`のコードを良くわからないまま「おまじない」として書いていたので、一度ちゃんと調べて整理してみます。
目標としては、– その記述があることでどんなことが起こっているのか、を把握できるようにする
– 書かれているコードの文法構造を理解し、言語化しておいてあとで調べられるようにするこの辺りを目指して整理してみます。
## flaskアプリの基本構造
シンプルなWebアプリの基本構造を見てみます。解説などこちらを参照しました(スクリプトは一部違いがあります)
[Flask を始めよう — Flask Handson 1 documentation](https://methane.github.io/flask-handson/start.html#hello-world)“`python
#①モジュールのインポート
from flask import Flask#②Webアプリ作成
app = Flask(__name__)#③エンドポイント設定(ルーティング)
@app.route(‘/’)
def hello
Siriみたいな会話相手作ってみた
## 作成動機
私はstay home期間にほとんど人と喋っていないので悲しくなり誰かと話したい、とSiriみたいな会話相手をpythonで作ってみました。
____
# コード
“`python
import tkinter as tk
import tkinter.messagebox as tmsg
import timewhile True :
s= input(“”)
初=”初めまして”
へ=”Hey oh”
お=”おはよう”
こ=”こんにちは”
ば=”こんばんは”
男=”あなたは男性ですか?”
か=”男性かな”
な=”女性かな”
漫画=”漫画は好きですか?”
悩み=”悩みはありますか?”
自己=”自己紹介して”
悩=”悩みがあります”
家=”コロナウイルスの影響で家から出れないのがしんどくなってきた”if s == 初:
tmsg.showinfo(“oh”, “初めまして” + ” これからよろしくお願いします”)
VScodeでnumpyをimportするとエラーが発生するときの対処法
#環境
VScodeでサクッとpython書きたい!
そんなとき、numpyをインポートするとエラーで読みこんでくれなくなりました。#事象
WindowsのVScodeでnumpyをimportとするとエラーが発生します。“`
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
“`jupyter notebookなどでは問題なく、importできるのに、なぜかVScodeだけimportしてくれません。
#原因
エラーメッセージの中でmklinitがimportできませんと言っています。“`
File “D:\Anaconda3\lib\site-packages\numpy\_distributor_init.py”, line 34, in
from . import _mklinit
“`VScodeではPowerShellからpythonを実行する際にmklモジュールのpathがわからないので、エラーになっています。
#対処
モジュールのpathを追加します。(D:\Anac
pythonでスクレイピングを行い物件情報を取得する
#はじめに
将来的に引越しをしたいなと考えた時、どのような物件があるのか、掘り出し物の物件はあるのかを調べたいと思いました。
いちいち手作業で調べるのは面倒なので前回行ったスクレイピングを利用して物件情報を取得したいと考えました。最終的には取得した情報を地図にマッピングまで行いたいと考えているのですがまず最初に物件情報を取得することから始めようと思います。
#スクレイピングとは
スクレイピングとは簡単に述べると、「プログラムを使ってインターネット上の情報を収集すること」です。
スクレイピングは以下の2手順を経て実行されます。①html情報を取得→②必要データを抽出
まず①についてですが、
そもそも、webページと言うものはhtmlと言う言語を用いて構成されます。
Google Chromの右上の矢印のページをクリックし、
「その他のツール」→「デベロッパーツール」と押すと画面右にコードの羅列が出力されます。
それこそが、画面を描画するためのコードであり、スクレイピングをするためにこのコードを自分のパソコンに引っ張ってきます。
そして、②についてですが、htmlは入れ子構造と