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

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

データサイエンス100本ノック~初心者未満の戦いpart6

これはデータサイエンティストの卵がわけもわからないまま100本ノックを行っていく奮闘録である。
完走できるか謎。~~途中で消えてもQiitaにあげてないだけと思ってください。~~

[100本ノックの記事](https://codezine.jp/article/detail/12456)
[100本ノックのガイド](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_guide.pdf)

**ネタバレも含みますのでやろうとされている方は注意**

最初に参考にさせていただいたページのリンクは初回のみに変更しました。

コレは見づらい!この書き方は危険!等ありましたら教えていただきたいです。~~心にダメージを負いながら~~糧とさせていただきます。

この解き方は間違っている!この解釈の仕方は違う!等もありましたらコメントください。

今回は33~35まで。
[[前回]](https://qiita.com/sola_wing

元記事を表示

tkinterで手動で更新するライフゲームをつくる

PaizaのPython講座を受けて、さて、何を作ろうとgoogleで探していたら、マイナビニュースの【ゼロからはじめるPython】にライフゲームの作り方(https://news.mynavi.jp/article/zeropython-9/) があったのでそれを参考に、手動で更新するライフゲームを作ってみた。

実行すると、下記の黒い画面が出て、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/661642/81a85b0f-8c00-c332-21cd-8f9ef6aaa951.png)

クリックするとセルを配置、取り消しができる。
下記は【ペンタデカスロン】という配置
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/661642/55eb2d64-862c-60cb-e790-3714a3008562.png)

[Enter]キーを押すごとに更新する。
![image.png](

元記事を表示

ZED SDK 使用方法

本記事では、ZED SDKの仕様を解説しています。

“`ruby:filename.html
Amazon
“`

元記事を表示

bottleのHTTPサーバーを3分でSSL化する

# 元のコード
例えば、以下のようなソースコードがあったとして、

“`python:http_server.py
from bottle import route, run

@route(“/”)
def root():
return “Server running”

if __name__ == ‘__main__’:
run(host=”0.0.0.0″, port=80)
“`

# 必要なモジュールをインストール

“`bash
pip install gevent
“`

# 鍵を準備
Let’s Encryptでやるときはここを見ると良さそう
https://certbot.eff.org/lets-encrypt/ubuntufocal-nginx
オレオレ証明書を使うときはここ
https://qiita.com/ll_kuma_ll/items/13c962a6a74874af39c6
localhostで作りたいときはここ
https://qiita.com/rkunihiro/items/530b5dc685bd3bff2082

#

元記事を表示

PEP 622 (Structural Pattern Matching) を読んだよメモ

昨夜、突如 [PEP 622 (Structural Pattern Matching)](https://www.python.org/dev/peps/pep-0622/) が [python/peps に投稿されました](https://github.com/python/peps/pull/1451)。
python 系のメーリングリストを追いかけていない僕にとっては突然の大物 Draft の登場で、大混乱です。

元記事を表示

2つのPDFファイルを1ページ毎相互にマージする

#2つのPDFファイルを1ページ毎相互に挟み込みつつ1つのPDFにする
職場でリクエストがあったので作ってみた。

**【準備したファイル】**
 ・pdfA.pdf
 ・pdfB.pdf
 ・pdf.py

**【イメージ】**
pdfA.pdf –> pageA-1, pageA-2, pageA-3, …
pdfB.pdf –> pageB-1, PageB-2, pageB-3, …
pdfC.pdf –> pageA-1, pageB-1, pageA-2, pageB-2, pageA-3, pageB-3, …

###【手順】
####PyPDF2ライブラリのインストール

“`zsh
conda install -c conda-forge pypdf2
“`

####スクリプト作成

“`pdf.py
#! ~/usr/bin/python
# *-# -*- coding: utf-8

import PyPDF2

#ファイルのパス
pdfA = “pdfA.pdf”
pdfB = “pdfB.pdf”

#出力pdfオブジェクト
pd

元記事を表示

ゼロから始めるLeetCode Day66「438. Find All Anagrams in a String」

# 概要

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

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

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

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

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

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

Python3で解いています。

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

前回
[ゼロから始めるLeetC

元記事を表示

テキストマイニングのサンプルデータを自力で準備する

## 概要
最近テキストマイニングの勉強を始めたのだが、いい感じのサンプルデータが手に入らず苦労した。自分と同じ悩みを抱えている人もいるかもしれないので、自力でサンプルデータを準備するまでの試行錯誤を記事にする。

なお、私は職場で**アンケートの自由記述(感想とか要望とか)**を分析することが多いので、なるべく似た形式のデータを手に入れるのが目標。

## 手段の検討
### 青空文庫
テキストマイニングの本でもよく見かける[青空文庫](https://www.aozora.gr.jp/)は、著作権の消滅した文学作品などを掲載したWebサイト。ただ、アンケートデータには似ていないので今回は見送り。

– メリット
– 簡単にかなりの分量のテキストが手に入る。
– 読んだことのある作品は、事前知識もあって分析しやすい。
– デメリット
– アンケートデータとは形式が全く異なる。

### スクレイピング
例えば[OpenWork](https://www.vorkers.com/)や[転職会議](https://jobtalk.jp/)のような会社の評価が集まる

元記事を表示

# 音楽素材分離ライブラリ Spleeter を使ってみた

# はじめに
[Deezer Spleeter](https://github.com/deezer/spleeter)なるボーカル抜き出しライブラリを試してみた。
音声分離というと、位相反転させて、ボーカルだけ抜き出すのが主流(ちょっと時代遅れかも)な気がしますがドラムやベースなど色々と抜き出せるのがSpleeter。
そして無料です。
[iZotope RX7](https://www.izotope.com/en/products/rx.html) よりも分離できる楽器の数が多いそうです。RX7持ってないんですけどね・・・とりあえず気になったので使ってみました。

# 環境
– windows 10 Home Edition
– Jupyter Notebook (jupyter 1.0.0)
– Python 3.7.6
– pip 19.3.1

## 導入

[Github](https://github.com/deezer/spleeter) にてデータが配布されているので、任意の方法でダウンロードしてください。
(私はZipでダウンロードしました。)

解凍して

元記事を表示

データサイエンス100本ノック~初心者未満の戦いpart5

これはデータサイエンティストの卵がわけもわからないまま100本ノックを行っていく奮闘録である。
完走できるか謎。~~途中で消えてもQiitaにあげてないだけと思ってください。~~

[100本ノックの記事](https://codezine.jp/article/detail/12456)
[100本ノックのガイド](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_guide.pdf)

**ネタバレも含みますのでやろうとされている方は注意**

ココでグダグダ書いているのはネタバレ防止に1ページ分くらいの尺を稼いでいるからです()

今回は脱線に脱線を重ね、自分が何を調べたいのかわからなくなりました(原因は30本目)

コレは見づらい!この書き方は危険!等ありましたら教えていただきたいです。~~心にダメージを負いながら~~糧とさせていただきます。

今回は29~32まで。
[[前回]](https://qiita.com/

元記事を表示

最小二乗法の多項式の係数を求める

#概要
####最小二乗法
最小二乗法は、誤差を伴う測定値の処理において、その誤差の二乗の和を最小にすることで、関係式を求める方法です。

####プログラムについて
今回作成したプログラムは、予め用意されたデータ`x` `y`をリストにし、そのデータから行列`S` `T`を求め、係数`a`を導く処理となります。また、求めたい多項式の次数を`m`と置いています。
最小二乗法を簡単に求めることができるライブラリは既に存在するかもしれませんが、今回はそのようなライブラリは利用せず、配列操作ライブラリ`numpy`のみを利用し、データ量を変更しても融通が利くような処理を作成しました。

#プログラム
“`LeastSquares.py
# -*- coding: utf-8 -*-
#!/usr/bin/env python3

import numpy as np

X_data = [10, 20, 50, 70, 100]
Y_data = [9.3, 9.8, 10.9, 11.9, 13.1]
m = 1

def ST_list(power):
S, T = 0, 0

元記事を表示

Ubuntu 18.04 + VsCode + Pytho3 + pyodbc(odbc-postgresql) から Posgtgres12 にアクセスしてみる

#目的
・Ubuntu 18.04 に odbc-postgresql をインストールする
・同じく pyodbc をインストールする
・[Ubuntu 18.04 + VsCode + Pytho3 + psycopg2(libpq-dev) から Posgtgres12 にアクセスしてみる](https://qiita.com/tabizou/items/efaa0a1da6c48c20a1f1)
で作成した環境にアクセスしてみる
※Ubuntu はファイルが分割の粒度が小さいから、ファイル探すのにコツがいる感じ

##pyodbcをインストールする

$ sudo pip3 install pyodbc
~
Installing collected packages: pyodbc
Successfully installed pyodbc-4.0.30

##odbc-postgresqlをインストールする
対象パッケージを検索してみる

$ sudo apt search post | grep odbc

golang-github-

元記事を表示

データサイエンス100本ノック~初心者未満の戦いpart4

これはデータサイエンティストの卵がわけもわからないまま100本ノックを行っていく奮闘録である。
完走できるか謎。~~途中で消えてもQiitaにあげてないだけと思ってください。~~

[100本ノックの記事](https://codezine.jp/article/detail/12456)
[100本ノックのガイド](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_guide.pdf)

**ネタバレも含みますのでやろうとされている方は注意**

ココでグダグダ書いているのはネタバレ防止に1ページ分くらいの尺を稼いでいるからです()

途中で飽きたのでDockerの中身を掘り掘りしてました。

コレは見づらい!この書き方は危険!等ありましたら教えていただきたいです。~~心にダメージを負いながら~~糧とさせていただきます。

今回は23~28まで。
[[前回]](https://qiita.com/sola_wing529/i

元記事を表示

ゼロから始めるLeetCode Day65「560. Subarray Sum Equals K」

# 概要

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

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

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

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

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

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

Python3で解いています。

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

前回
[ゼロから始めるLeetC

元記事を表示

CSVをリサイズして返す関数

意外と見当たらなかったので作りました。
グレースケール画像のリサイズと同じことしてます

```python:CSVをリサイズして返す関数
from PIL import Image
from glob import glob
import numpy as np
import os

def resize_csv(file, width, height):
original = np.loadtxt(file, delimiter=",")
img = Image.fromarray(original)
resized_img = img.resize((width, height))
return np.array(resized_img)

def resize_all_csv(folder, width, height):
files = glob(folder + "*")
for file in files:
basename = os.path.basename(file)
ext = os.

元記事を表示

データサイエンス100本ノック~初心者未満の戦いpart3

これはデータサイエンティストの卵がわけもわからないまま100本ノックを行っていく奮闘録である。
完走できるか謎。~~途中で消えてもQiitaにあげてないだけと思ってください。~~

[100本ノックの記事](https://codezine.jp/article/detail/12456)
[100本ノックのガイド](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_guide.pdf)

**ネタバレも含みますのでやろうとされている方は注意**

記事を書く時点で27本目まで終わっていますが、知らなかった書き方も多く、また「自分はこう書いたけど答えはこうだった」というものも多くあったのでメモ代わりに置いておきます。

コレは見づらい!この書き方は危険!等ありましたら教えていただきたいです。~~心にダメージを負いながら~~糧とさせていただきます。

今回は19~22まで。
[[前回]](https://qiita.com/s

元記事を表示

データサイエンス100本ノック~初心者未満の戦いpart2

これはデータサイエンティストの卵がわけもわからないまま100本ノックを行っていく奮闘録である。
完走できるか謎。~~途中で消えてもQiitaにあげてないだけと思ってください。~~

[100本ノックの記事](https://codezine.jp/article/detail/12456)
[100本ノックのガイド](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_guide.pdf)

**ネタバレも含みますのでやろうとされている方は注意**

今回は10~18まで
[目次付き初回](https://qiita.com/sola_wing529/items/5fdbd97308dd88da28eb)

今回から、自分で書いたモノが成功してるとは限らず、答えを見ながら書いていたり、失敗例も書いてあります。

#10本目
```mine10.py
df=df_store
df[df['store_cd'].str.contai

元記事を表示

Ubuntu 18.04 + VsCode + Pytho3 + psycopg2(libpq-dev) から Posgtgres12 にアクセスしてみる

#目的
・Ubuntu 18.04(その1)に Posgtgres12 をインストールする
・新規roleを作成する
・新規DB(demo)を作成する
・作成済のroleに対して新規作成DB(demo)に対する権限を付与する
・作成したテーブルに対して Ubuntu 18.04(その2) + VsCode + Python3 + psycopg2 からアクセスしてみる
※Ubuntu 18.04 に psycopg2 のインストするのが意外とめんどくさかったのでメモを残しておく
※libpq-devは昔からめんどくさかった気がする・・・
※psycopg2をビルドする場合は、リポジトを設定後 libpq-dev のみインストールすれば良い
※パッケージ関連で迷った時の apt search はやはり重要 なぜ pip にはないんだろう??

##Code RunnerでPython3をキックする場合の修正点
修正になったバージョンが不明なのだけど 1.46.1 の時点では以下の手順で修正する
・ファイル -> 基本設定 -> 設定
・検索ボックスに Code-runner:Execut

元記事を表示

データサイエンス100本ノック~初心者未満の戦いpart1

これはデータサイエンティストの卵(産みたて)がわけもわからないまま100本ノックを行っていく奮闘録である。
完走できるかすら謎。~~途中で消えてもQiitaにあげてないだけと思ってください。~~

[100本ノックの記事](https://codezine.jp/article/detail/12456)
[100本ノックのガイド](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_guide.pdf)

[前回環境構築の参考にさせていただいたページ](https://qiita.com/rasyo/items/dd6f8dfc422511da25d6)

**ネタバレも含みますのでやろうとされている方は注意**

知らなかった書き方も多く、また「自分はこう書いたけど答えはこうだった」というものも多くあったのでメモ代わりに置いておきます。

コレは見づらい!この書き方は危険!等ありましたら教えていただきたいです。~~心にダメージ

元記事を表示

ゼロから始めるLeetCode Day64「287. Find the Duplicate Number」

# 概要

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

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

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

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

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

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

Python3で解いています。

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

前回
[ゼロから始めるLeetC

元記事を表示

OTHERカテゴリの最新記事