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

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

AWSラムダを全く理解していない人間が練習

###あくまで備忘録です
#やりたいことだけ明確に
###まず、目標
※この部分を書いている時点で一切の作業をしていません
AWSのラムダを使うとしてお金がかかるので、ローカル(Windows環境)にダウンロードできるものだけでラムダを作りたい。
htmlで書いた(ここの言語は未定)Webサイトにアクセスし、Pythonの書かれたラムダに投げて帰ってきたデータでhtmlを更新する、なんて形を取れればいいと思っている。
~~静的なWebサイトを作るのであればS3でもいいとか言ってはいけない~~

#何をダウンロードしよう
ググったところ[[参考:A]](https://dev.classmethod.jp/articles/invoke-aws-lambda-python-locally/)のサイトを見つけたので内容を確認。**python-lambda-local**というものを使えばいいらしいので早速インストール

cmdからpipでダウンロード~~pipがナニか変わらなかった無知な自分は[こちら](https://techacademy.jp/magazine/21161)~~

元記事を表示

Python超初心者の超初心者のためのPython #型(type)を変換する方法:str編

環境
windows7 (Mac Book Pro 16inch欲しい)
Visual Studio Code
chrome
python ver3.8.3

この記事はプログラミング初心者かつPython初心者に向けて記述します。

#1.Pythonの型(type)を変換する方法
##integer
integerは数(整数)でした。
数(整数)をそのまま文字(文字列)と合わせて出力しようとすると下記のようになります。

“`style.py
calc = 100 * 3.14
answer = “円周率に100倍は” + calc + “です”
print(answer)

#answer = “円周率に100倍は” + calc + “です”
#TypeError: can only concatenate str (not “float”) to str

“`

エラーが出ました。
TypeError:can only concatenate str (not “float”) to str
このエラーは、「型(type)が違うから合わせられませんよー」というエラーです

元記事を表示

IBM Cloud Functions からPythonで Slack にメッセージをPostする

###手順:
1. Slack で対象チャネルに Incoming Webhook 設定
2. IBM Cloud functions でアクション作成

### 1. Slack で対象チャネルに Incoming Webhook 設定

Slack のマニュアルを確認して URLを取得します。
* アプリの追加はワークスペースの管理者の承認が必要

・[Slack での Incoming Webhook の利用]
(https://slack.com/intl/ja-jp/help/articles/115005265063-Slack-%E3%81%A7%E3%81%AE-Incoming-Webhook-%E3%81%AE%E5%88%A9%E7%94%A8)
・[Sending messages using Incoming Webhooks]
(https://api.slack.com/messaging/webhooks)

=> ”https://hooks.slack.com/services/xxxxxxxxx/xxxxxxx/0KX1Txxxxx

元記事を表示

Pythonで学ぶ統計検定2級の確率分布①

#はじめに
統計検定の勉強をしていると様々な確率分布が出てきますが、数式だけ見ても中々イメージが付きにくいと思います。Pythonで色々パラーメータを動かしながら確率分布を描画してそのイメージをつけていきます。

##参考
確率分布の説明については下記を参考にしています。

– [統計学の時間](https://bellcurve.jp/statistics/course/)
– [統計学入門 (基礎統計学Ⅰ) 東京大学教養学部統計学教室](https://www.amazon.co.jp/dp/4130420658/ref=cm_sw_r_tw_dp_U_x_r56nEb3G5Y13F)

#様々な確率分布
本記事では各種数式の導出等の細かな説明は行わず、各分布の形とその分布が意味することのイメージを掴むことを主眼においています。この記事では下記2つの分布を扱います。

– 二項分布
– ポアソン分布

##二項分布
「コインを投げたときに表が出るか裏が出るか」のように**起こる結果が2つしかない互いに独立した試行(ベルヌーイ試行)を$n$回行なって成功する回数$X$が従う分布

元記事を表示

国家公務員行政職からAIエンジニアに転職するまで 2020.6.6~

6.6土
昨日MacBook Proが届いたので、早速朝コメダ珈琲で朝活。
Udemyのゼロから始めるデータ分析を開始。
理論をすっ飛ばした説明だが、とにかく早くデータ分析を体験してもらおうという趣旨のようだ。
自分も本で理論だけ理解しようとして既に挫折済みなので早く体験してみたい。

6.7日
コメダの朝活と夜はスタバ。夕方は引っ越しの準備等で頭がいっぱい。引き続き講座をやっているが、
必要最小限の説明を聞き逃しているのか、聞き流しているからなのか、自分が今書いているコードはなんのために書いているのかわからなくなる。全体の流れを理解しておかないとただの作業になってしまうので注意したい。

6.8月
朝スタべでUdemyの講座を引き続き。1時間しかできないが、その瞬間瞬間で理解することを心がけた。
夜MacBook Pro用のアクセサリーがいくつか届いた。
画面の保護フィルムはサイズが合わないので返金を依頼した。
moshiのキーボードカバーは置いておくだけのタイプだが、ずれることもなく良い。

元記事を表示

Wiktionaryの全文処理をF#とPythonで速度比較

Wiktionary のダンプから全文を読み込む処理を Python で書きましたが、F# に移植して処理速度を比べます。

シリーズの記事です。

1. [Wiktionaryの効率的な処理方法を探る](https://qiita.com/7shi/items/e8091f6ac72491ad45a6)
2. Wiktionaryの処理速度をF#とPythonで比較 ← この記事

この記事のスクリプトは以下のリポジトリに掲載しています。

*

# 概要

Wiktionary のダンプに手を出した当初、.NET はデフォルトで bzip2 が扱えなかったので、Python で実装を始めました。並列化すれば 1 分ちょっとで処理が終わるようになったので、速度的には Python でも十分だと感じました。

.NET ではどれくらいの速度が出るのだろうかと気になったので、不足しているライブラリを補って試します。

※ さらっと書きましたが、調査

元記事を表示

デジタル画像処理(空間フィルタリング)

## *空間フィルタリング*
領域に基づく濃淡変換(area to pixel operation)とのこと。
フィルタを各ピクセルに当てはめて、積和演算を実行して画像の平滑化(ノイズ除去)、エッジ検出を行う。
イメージは[この動画](https://vimeo.com/12774628)のように高速でフィルタをあてはめ、フィルタから得られた計算値を格画素に入力する。(畳み込みとも呼ばれる)

平滑化(画素値の凹凸を減少させる)

### *使用する画像*

![1_av_fil_before.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538540/04326a15-092b-ba15-51bf-b672ce74bd5e.jpeg)

使ったライブラリ

“`python:
import numpy as np
from numpy.lib.stride_tricks import as_strided
from matplotlib import pyplot as plt
from mpl_t

元記事を表示

‘デ’ == ‘デ’ がFalse! 実は2つ目の「デ」が2文字だった。 [python]

表題通りです。表題の“’デ’ == ‘デ’“をコピペしてpythonで実行すると“False“になります。

不可解でしたが、調べて見ると実は2文字目の“デ“が“テ“と“濁点“で構成されていました。

“`python
a = ‘デ’
b = ‘デ’

text = f”’

2つのデはどの様に表示される?
1つ目 : {a}
2つ目 : {b}

2つのデは同じ? : {a==b}

それぞれの文字列の長さはいくつ?
a : {len(a)}文字
b : {len(b)}文字

b の1文字目、2文字目は何?
b[0] : {b[0]}
b[1] : {b[1]}

ちなみに、バイト列にするとどうなる?
a : {a.encode()}
b : {b.encode()}

「2つ目の デ が実は2文字だったんですね!」
”’

print(text)
“`

スクリーンショット 2020-06-09 午前2.59.47.png[考察回]初心者が英単語ヌメロンの最善手順を考えてみた[第1話]

本記事は前回書いたヌメロン記事の続きではありませんが、用語などは引き継ぎますので軽く読んでもらえると幸いです
#本記事の目的
私が好きなyoutuber第一位のQuizKnock様が英単語ヌメロンなるものを発表されました。
私は難儀な性格で解析できそうなゲームを見ると解析したくなります()
素直に楽しめばいいのにね。
まあそんなところでこの記事の目標は
「最適なコール候補を教えてくれるプログラムを作ること」
とします。しかし、単純な話ではありません。
##普通のヌメロンと違う点
私は以前Qiitaにて3桁(0~9を使う)ヌメロンの最適コール(完全最適ではおそらくない)をコールするプログラムを作り記事にしました。
(プログラム歴1か月の身ですし拙いところしかない記事ですがよかったら見ていただけると幸いです)
その時と違う点を以下に述べていきます。
###3桁から4桁に増えてる
当たり前かもしれませんが、大きな違いです。
候補の数が大きく増えるのはもちろんですし3桁であれば
(EAT,BITE)の種類は(3-0),(2-0),(2-1),(1-0),(1-1),(1-2),(0-0),(0

元記事を表示

写真1枚で高精度な3D画像簡単作成やってみた【0】。(空間の捉え方を確認した、網をかける)

#概要
**写真1枚で** **高精度な3D画像↓ 簡単作成**できるよう。
githubは、以下。https://github.com/vt-vl-lab/3d-photo-inpainting

論文『3D Photography using Context-aware Layered Depth Inpainting』
Meng-Li Shih1 さんらは、以下。https://arxiv.org/pdf/2004.04727.pdf

ここでは、空間の捉え方を確認するために、

1. 元画像に対して、depthを算出させ、
2. 既に、depth算出済の状態から元画像に**格子**を入れて、3D処理を実施。

結果は、以下。(加工前の静止画の出典は、https://pixabay.com/ja/ )

元記事を表示

【LeetCode学習記録】ZigZag Conversionを解いた

今日は,[ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/)を解きました.その中で学んだことを記録しておきます.
なお,私はPython初心者かつ,LeetCodeのような問題も始めたばかりなので,間違いの指摘や,アドバイスなどがあればお待ちしております.

#問題設定
s=”PAYPALISHIRING”という文字列に対し,numRows=3が与えられたとき,

“`python:result
P A H N
APLSIIG
Y I R
“`
のようにギザギザになる.outputは各行を左から順に並べた”PAHNAPLSIIGYIR”となる.

# 最初に書いたコード
## 方針
– 与えられた文字列`s`について,先頭から順に0,1,…,(numRows-1),(numRows-2),…,1,0,…のようにkey=0,1,…,numRows-1を割り当てる.
– インクリメント/デクリメントを判断する識別子`Inc`が必要?
– keyの小さいほうから順に結合し,それを

元記事を表示

【第6章】計量経済学(有斐閣)の章末問題(実証),pythonによる解答

  [計量経済学](‘http://www.yuhikaku.co.jp/books/detail/9784641053854’)の章末問題6-10[実証]をpythonで解いてみました。
 pythonのことをあまりよくわかっていないので、改善点があれば是非ご指摘いただきたいです。

 パネルデータ分析はlinearmodelsライブラリを使うことで楽に実行できます。
 まずはlinearmodelsを使わずにpandasを使って自力で固定効果変換を行い、OLS推定します。
 そのあとでlinearmodelsを使う方法で処理します。

### 章末問題6-10(1)

“`python

# 基本的なデータ分析用ライブラリ
import pandas as pd
import numpy as np
from scipy import stats

# グラフ描画
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
sns.set()

# 統計モデル
from statsmodels

元記事を表示

蟻本初級編をpythonで解いてみた

#蟻本をpythonで解いてみた

##2.1 全探索

###再帰関数

“`python:
#階乗
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)

#フィボナッチ
def fib(n):
if n <= 1: return n else: return fib(n-1) + fib(n-2) #配列をメモ化することで高速化 def fib_memo(n): memo = [0] * (n+1) def fib_cal(x): if x <= 1: memo[x] = x return x elif memo[x] != 0: return memo[x] else: memo[x] = fib_cal(x-2) + fib_cal(

元記事を表示

MediaWikiAPIで記事内容を取得する方法を実例例付きでわかりやすく解説してみた(Python3)

#経緯
MediaWikiを使ってWikiサイトを作っており、Pythonで更新情報などを取得するためにAPIを探したのですが数個のQiita記事と**微妙な翻訳がされたMediaWiki日本語版**、英語のMediaWikiしか情報が無かったので今後API活用を考えている人のために記事を書くことにしました。このAPIは基本的に**Wikipedia以外のMediaWikiサイトにも使える**のでかなり汎用性が高いです。
細かい説明が間違っているかもしれないのとQiita初投稿なので若干読みにくい部分はご了承ください…

#使うパラメータ
今回記事内容を取得するのに利用する主要パラメータです。
パラメータに関しては[こちらのQiita記事:MediaWiki APIを使ってWikipediaの情報を取得](https://qiita.com/yubessy/items/16d2a074be84ee67c01f)が詳細に紹介しているので記事内容取得以外のこともする場合は参考にすると良いと思います。
注:リンクから叩くこともできるのですが可読性を高めるために“`requests“`

元記事を表示

bouncing ballを改良してみた

# テキストのbouncing ballを増殖させてみた

—-

![bouncing_ball.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151211/a392251e-af52-f843-4276-5980d5782ee6.gif)

—-
# 位置,速度,カラーの初期値をランダムに

“`python
balls = []
for j in range(100):
color1 = “#”+hex(random.randint(1, 15)
).lstrip(“0x”)+hex(random.randint(1, 15)
).lstrip(“0x”) + hex(random.randint(1, 15)
).lstrip(“0x”)

元記事を表示

ゼロから始めるLeetCode Day50「739. Daily Temperatures」

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

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

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

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

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

前回
[ゼロから始めるLeetCode Day49 「1323. Maximum 69 Number」](https://qiita.com/KueharX/items/2d18458c80aa39a0c386)

今はTop 100 Liked QuestionsのMediumを優先

元記事を表示

Twitterのいいね数を推定してみる

# はじめに
ことの発端は競馬AIの製作のためにスクレイピングを学ぼうとしていて、その学習課題を探していました。
どうせならばデータ取得→前処理→学習→推論の一連の流れができるものがいいと思い
**我が推しメン[大場花菜](https://twitter.com/hana_oba)のツイート内容からいいねの数を推定する**
を学習課題とすることにしました。
今回は簡素な流れでまずは動き始めることを目的にしており、精度云々は今後詰めていこうと思います。
※間違い等ありましたらご指摘ください

# データ収集
データの収集はTwitter APIを使用します。
登録方法は↓の記事を参考にしました。
[TwitterAPI登録を記入時間30分で超簡単にパスする裏技(日本語訳付き)](https://qiita.com/kyohei_ai/items/66cb76b1c8016e9d0339)
まぁまぁ理由とか考えて書くのめんどくさいので覚悟してください。
僕はここで一日潰れました。(日本語が不自由なもので…)

登録が終わったらTweetが取得できるので取得プログラムを書いていきます。
通常

元記事を表示

Mac OSX 10.15.5にpyenvでPython2.7.xを入れる

Mac OSX 10.14.x以降は同じかもしれませんが、
OSを**10.15.5**にUpgradeしたらpyenvで2.7.x系のインストールができなくなってしまったので
メモとして残します。

#Python 2.7.13のインストール

pyenvでPython 2.7.13のインストールを行うと、以下のエラーが表示される。

“`terminal
% pyenv install 2.7.13
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-2.7.13.tar.xz…
-> https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
Installing Python-2.7.13…
patching file ./Lib/site.py
python-build: use readline from homebrew
ERROR: The Pytho

元記事を表示

pythonでwebサイトの録画録音をしてみる(1)

#はじめに
OS:windows10 64bit
python:3.7

録画できるソフトは世の中に山ほどありますが、
指定した時間に特定のwebサイトの画面を録画録音する、という
超個人的な需要を満たすソフトがなかったので
脳トレお遊び感覚にpythonで書いてみます。

難易度的に記事を分けて書くほどのものではないですが、
時間の都合上ちまちまとパート分けして書いていきます。

また作業していく中で発生した諸々の問題と、
その対処をたらたら書いてるのでとても冗長な内容になっていますが
ご了承ください。

#方針
全体像としては以下の流れを想定してやってみます。

1.指定した時刻でコマンド実行
2.事前にセットしたURLでブラウザ起動
3.ブラウザのスクリーンショット・音声をキャプチャ
4.ブラウザのスクリーンショット・音声をマージして動画出力

このページでは3について検討します。
pythonの有名どころのライブラリをさらっと確認した感じだと
画像と音声を同時にキャプチャできるものが見つかりませんでした。
(gitを探せばあるかもしれません。あれば教えてもらえるとたすかります。

元記事を表示

Mandelbrot ベンチマーク(C, PHP, HHVM, Ruby, Python, and Kinx)

# Mandelbrot ベンチマーク

– 対象 … C, PHP, HHVM, Ruby, Python, and 我らが Kinx

## はじめに

この記事 [【PHP8】PHPでJITが使えるようになる](https://qiita.com/rana_kualu/items/ba312d2789bd228f887a) でのベンチマークを拝見させていただきまして。

PHP8 に JIT が入るとかで Mandelbrot のベンチマークをしているのですが、は!、これは我らが Kinx 君も `native` メソッドでブイブイ言わせられるやつでは!、との気持ちから試しにベンチマークしてみよう、という趣旨のイベントです。

記事にしたということは、**勝負になった** ということでもあります。というか予想以上。やったね!

ちなみに、Kinx って何?という方は以下をご参照ください。

* 参考
* 最初の動機 … [スクリプト言語 KINX(ご紹介)](https://qiita.com/Kray-G/items/ca08b6fb40d15dd0ec76)

元記事を表示

OTHERカテゴリの最新記事