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

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

EC2の起動時にPython(Flask)を起動する方法

##はじめに

EC2の起動時間が営業時間内に設定されている場合、毎朝コマンドを叩くのが面倒なので、
今回はpythonで作ったAPI(Flask)をshellを自動起動するようにしました。
参考サイトの方法を忘れないようにまとめたものです。

###apiのshell化

自分は権限が足りなかったのでsudo

“`
# sudo vim /usr/local/start_api.sh
———————————-
#!/bin/bash

nohup python3 /usr/local/api.py &

exit 0
“`

###自動起動の設定
ここでも権限が足りなかったので、sudoしました。

“`
# sudo vim /etc/init.d/api_start
——————————-
#!/bin/sh
# chkconfig: 345 99 10
# description: start_api shell
case “$1” in
start)
bash /us

元記事を表示

Python超初心者の超初心者のためのPython #辞書型1

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

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

##辞書型

辞書型の作成は難しくはないのですが、超初心者の私はいくつかミスをしてしまいます。

まずは辞書型の作り方です。
`{ }`波括弧の中にキーと値を記述します。
キーは`{ }`の中にキーの名前と`:(コロン)`で記述し、値は`:(コロン)`の後に記述します。
このときに私がミスしやすいのが、キーと値に文字列を記述するときに` ” ” `で囲うのを
忘れてしまいます・・・。お気をつけください。

`キー1:値1`と記述し、続いて`,(カンマ)`で区切ります。

“`python:dict.py

{ “キー1″:”値1″,”キー2″:”値2″,”キー3”:”値3,・・・・・・ }

“`

辞書型を作成出来た所でこの辞書型の使い方です。
キーに対応する値は下記のように取り出します。

“`python:dict.py

a

元記事を表示

Flake8でチェック対象外を指定する方法

需要があるか分からないが、日本語の技術情報を増やすためにも書いてみる。

Pythonのコードチェックに[Flake8](https://gitlab.com/pycqa/flake8)を使う際、ファイルやディレクトリをチェック対象から外したい場合があると思う。そんな時のやり方。

“`bash
flake8 –exclude=./env/lib/python3.8/site-packages/ .
“`

上記のように、「–exclude」オプションでチェック対象外のファイルやディレクトリを指定できる。ちなみに、上記は

– 「./env/lib/python3.8/site-packages/」ディレクトリを除いて
– カレントディレクトリ(最後の「.」で指定)をチェック対象とする

という意味になる。

## 参考

https://flake8.pycqa.org/en/latest/user/options.html#cmdoption-flake8-exclude

元記事を表示

イテレータって何?

※イメージ最優先で、記述は正確ではありません。

# ねらい

 以下のコードがどのように動作しているのかをなんとなく理解する

“`python
for i in range(5):
print(i)
# 0
# 1
# 2
# 3
# 4
“`

## イテレーターってなによ

>Pythonのfor文はイテレータにたいして動作します。

と言われてもピンと来ないと思います。そこで、なんでこんな概念を必要なのかを説明します。

## いったんwhile文で再現してみる

 以下のfor文のサンプルを考えます。

“`python
l = [‘Alpha’, ‘Beta’, ‘Charlie’]

for name in l:
print(name)
“`

 Pythonを学習してきた皆様ならこれでなにが出力されるかわかりますね?

“`
Alpha
Beta
Charlie
“`

 そうです、配列から取り出して名前を表示してくれます。これをwhileで書き換えるとこんな感じに書き換えることができます。

“`python
l = [‘Alpha’,

元記事を表示

【意外と知られていない?】データ分析部門のリアルな1日を紹介

# はじめに

この記事は、これからデータアナリストやデータサイエンティストとして特に事業会社のデータ部門で働きたいと思っている方向けに書いています。
また、そうでない人も社内のデータ部門の人がどのような1日を過ごしているか、あまりご存知でない方が多いのではないでしょうか。
いわゆるデータ部門は、仕事の特性上会社内でもあまり目立たない存在であることが多いと思いますので、この機会に知っていただければ幸いです。
スクリーンショット 2020-06-18 13.45.30.png

# この記事から得られること
①データ分析を生業にしている人のリアルな1日を知ることができる
②会社のデータ部門の人達の悩みにちょっとだけ共感できるようになる
# なぜこの記事を書くか

私は、30歳手前で非IT業界からデータアナリストに転身

元記事を表示

[Remotte開発] 音声解析系のアプリ(演習4)

[前回](https://qiita.com/remotte_jp/items/6f379b1f32f5c78f61ee) の演習3では、「ビデオ解析」系の構成要素について演習した。今回は音声解析系の構成要素について、「レベルメーター」を題材に説明する。音声解析系の構成要素は、ビデオ解析系とほぼ同じで、ビデオ解析では関数 new_video_frame( ) によって解析すべきデータがプラットフォームから与えられたのに対して、音声解析では関数 [new_audio_frame( )](https://www.remotte.jp/ja/user_guide/program/functions) によって与えられることが違いだ。
### アプリの新規作成
これまでの演習と同様に、アプリを新規作成する。
![1 アプリの新規作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491154/8b8794b7-c32d-96c6-66d5-70bfbb195432.png)
### 音声のソースを追加
「構成」

元記事を表示

Google ColabからGoogle スプレッドシートを扱うときのサンプルコードまとめ

最近よくGoogle Colab上からGoogle スプレッドシートを触っています。

(このような感じの動画にもしているので、よろしければ見てみてください!→ [【サファのColabでPython学習 – 9】Google ColabからGoogleスプレッドシートに値を書き込む方法(YouTube)](https://www.youtube.com/watch?v=4RCWYQk9bfM))

触っていると、だいたいお決まりのコードを打ち込むケースが多いので、よく使う記述をサンプルコードとしてQiitaにまとめて置いておくことにしました。

## 参照しているドキュメント
なお、基本的に`gspread`の公式ドキュメントを参照しながら書いていきます。
[gspread(Docs)](https://gspread.readthedocs.io/en/latest/index.html)

## gspreadのインストール
Google スプレッドシートを扱う上で必須となるライブラリの `gspread`です。
Google Colab上ではコマンドを叩く際は、頭に`!`をつけて

元記事を表示

chocoでPythonとpipをインストール時のエラーの対処法

# tl; dr
chocoでpythonを入れても,環境変数は自分で通せ.
pipを使いたければ,自分で入れろ.

# 困ったこと
ROS2を入れるために,chocoを使ってpython3.7をインストールした後,powershell上で

“`WindowsPowerShell
$ python
“`

と入力したとき,MicrosoftStoreが開く.

また,chocoでpipをインストールしようとしてもエラーでインストールできない.

#解決方法
まず,pythonをインストールした後,

“`WindowsPowerShell
$ refreshenv
“`

と入力し,反映させる.

この後,再び

“`WindowsPowerShell
$ python
“`

と入力してもMicrosoftStoreが開く場合,環境変数を自分で入れる必要がある.
自分の場合はCドライブ直下にpython(バージョン)というフォルダがあったのでこれを環境変数のpathに設定する.
そうすると,pythonが使えるようになった.

次に,chocoでpipをインストールしよ

元記事を表示

(自分用)Flask_3(form,POSTとGET)

# 項目
1. 入力フォームと軽くフォームとは
2. POSTメソッドで掲示板的なやつ
3. GETメソッドで掲示板的なやつ

# 1.入力フォームでフォームを感じる
– ただフォームを作るだけならpy側は何もいじらなくて大丈夫(そんな事ある?)

“`html:html





“`
– `action=”/result”`で/resultにデータを送るよと指定している
– `method=”post”`でなんのメソッド使うかを決める
– `input type=”text” name=”article”`は`t

元記事を表示

データサイエンス100本ノックを、Google ColabとAzure Notebooksで気軽に行いたい!

#はじめに
2020年6月15日に、データサイエンス協会より発表されました「データサイエンス100本ノック(構造化データ加工編)」の素晴らしさに感動した私は早速ドリルを解き、めくるめくデータサイエンスの大海原をエンジョイしようとした。

しかし、Originalのデータサイエンス100本ノック(構造化データ加工編)はDocker形式で提供されており、実践的な演習が可能である一方でお手軽感はかった。同じ思いの人も数多く存在すると考え、より気軽に100本ノックするためにGoogle ColabとAzure Notebookで実行可能な演習スクリプトと解答編スクリプトを作成した。なお、作成者である私がPythonしか使えないのでPythonのみである。R派の方、申し訳ない。

#どうやって始める?
こちらにコード+説明文をアップしました。こちらのQiitaを見ていただくか、Github上のREADME.mdを見ていただければ。

noguhiro2002/100knocks-preprocess_ForColab-AzureNotebook
https://github.com/noguhi

元記事を表示

Python|ソートの可視化|みてて気持ちいい

#Pythonでソートをしている様子を可視化
PythonのTkinterを利用して、データをソートしていく様子を可視化して
「なるほど!」
と思えるコードです。
*before*
スクリーンショット 2020-06-19 0.33.21.jpg
*after*
スクリーンショット 2020-06-19 0.33.10.jpg

内容としては

– クイックソート
– マージソート
– 選択ソート

を実施します。
サンプルコードはこちらで

元記事を表示

Pythonでwordcloudを作ってみた。

#はじめに
初学者ですが、Pythonの練習がてらワードクラウドであの印象的な絵を自分も書いてみたい!と思い楽しんだ。
その作業内容を備忘録的に書き残しておく。

#作業環境
作業環境は、Ubuntu18.04.4 LTS
Python 3.6.9
mecab-python3 0.996.5

本記事のソースコード内にある、ファイル引数などは適宜ご自身の環境に読み替えてください。

#WordCloudとは
WordCloudは、文章中で出現頻度が高い単語を複数選び出し、その頻度に応じた大きさで図示する手法。ウェブページやブログなどに頻出する単語を自動的に並べることなどを指す。文字の大きさだけでなく、色、字体、向きに変化をつけることで、文章の内容をひと目で印象づけることができる。(デジタル大辞泉の解説より)

今回最終的に完成したワードクラウドの図はこれ。
テキストはアップル創業者であるスティーブ・ジョブズのスピーチのものを別途作成し、入力ファイルとして渡した。

また、マスク画像を使用して、ジョブズとアップルロゴの輪郭内に文字列が表示されるよにした。

自分、人生、好き、大学などの

元記事を表示

DP問題をPythonで解く際の注意点

# 概要
AtCoderのDP(Dynamic Programming: 動的計画法)問題を解いていたところ、他の言語ならACになるコードがPython/PyPyだとTLEになるという現象に遭遇したため、備忘録として残しておきます。

# DP問題について

[こちらの記事](https://qiita.com/drken/items/dc53c683d6de8aeacf5a)で詳しく解説されているようにDP問題の解き方はいくつかありますが、ざっくり分けるとボトムアップ的にfor文を回してDPテーブルを構築する手法と、トップダウン的に再帰関数を呼び出すメモ化再帰の二通りがあります。いずれにしても計算済みの結果を保持しておくことで処理の高速化を図るという点では同様ですが、メモ化再帰の場合は関数呼び出しのオーバーヘッドがあるため、一部の言語では制限時間内に処理が終わらずTLEになるということがあります。

# 例題
[DPまとめコンテストB問題: Frog2](https://atcoder.jp/contests/dp/tasks/dp_b)

## 解法1:for文によるボトムアップ的

元記事を表示

【AWS入門】テキスト-音声変換して遊んでみた♪

今回は、半年前に自前AWSハッカソンでやったことを再度やった記録です。
前回は、近くに有識者がいてわからないことを聞きつつやったけど、今回は無料枠登録からPollyでテキスト⇒音声変換するまで、思い出しつつやったので、記憶に定着しました。
無駄にEc2のLinuxは動かしていますが、もちろんまだまだ無料枠の範囲です。ちなみに一番消費しているのは、30 GB of Amazon Elastic Block Storageが12.5%になっています。
###やったこと
・開発スタイルを確立する
・前回のコード
・少し改善
・音を聞く
###・開発スタイルを確立する
登録は親切なものが多いのでまんまマネをすれば作成できるように思う。
【参考】
[初心者がAWSに挑戦してみるお](https://qiita.com/HitomiHoshisaki/items/4e1eff6b32bcf91ec0d8)
[AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ](https://qiita.com/tmknom/items/303db2d1d928db720888)
ということで、オハイ

元記事を表示

Pythonでスタックを利用した深さ優先探索

# はじめに
最近競技プログラミングを始め、その奥深さにハマっている筆者です。
でも、競技プログラミングって普通の人はアルゴリズムを知ってないとある一定のレベルからまったく歯が立たなくなりますよね :disappointed_relieved:

なので、[レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】](https://qiita.com/e869120/items/eb50fdaece12be418faa)の「[分野別 初中級者が解くべき過去問精選 100 問](https://qiita.com/e869120/items/eb50fdaece12be418faa#2-3-%E5%88%86%E9%87%8E%E5%88%A5%E5%88%9D%E4%B8%AD%E7%B4%9A%E8%80%85%E3%81%8C%E8%A7%A3%E3%81%8F%E3%81%B9%E3%81%8D%E9%81%8E%E5%8E%BB%E5%95%8F%E7%B2%BE%E9%81%B8-100-%E5%95%8F)」をちょっとずつ解いている今

元記事を表示

ゼロから始めるLeetCode Day60「1481. Least Number of Unique Integers after K Removals」

# 概要

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

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

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

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

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

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

Python3で解いています。

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

前回
[ゼロから始めるLeetC

元記事を表示

クロスバリデーションとF値について

クロスバリデーションとF値について、どちらの精度が優れているのでしょうか?
よろしくおねがいします。

元記事を表示

[光-Hikari-のPython]06章-04 関数(引数と戻り値3)

#[Python]06章-04 引数と戻り値3
今まで書いた関数では、引数が数値や文字列の変数の場合だった場合について説明しました。
今回はリストの変数を渡すことを考えてみましょう。特に難しいことはなく、今まで通りにリストを作成し、リストの変数を渡すのみです。

##リストの受け取り
今回は以下の要件のプログラムを作成します。

国語・数学・英語のテストの点数を入力し、それを1つのリストにまとめて関数内で平均点を求めるプログラムを作成してください。なお、平均点の出力は関数内で行わないようにしてください。

chap06の中に、samp06-04-01.pyというファイル名でファイルを作成し、以下のコードを書いてください。

“`samp06-04-01.py
def test_clac_func(test_data_ls):
#いったん、リストの中身を出力します。
print(test_data_l

元記事を表示

macOSでpythonインストールして使ってたらなんかhttpsコネクション貼る時にエラーになった

開発環境
OS: macOS(Catalina 10.15.4)
python: 3.8.2

# まず動機
タイトルの通りですが、MacにPython入れて普通に使ってて
poetryを入れてみようと思いコマンドを実行したところ以下のエラーが発生

“`
urllib.error.URLError:
“`

# 解決
ググってみたところCA証明書インストールすれば大丈夫ってことで以下のコマンドを実行してインストールしたところ無事解決

“`zsh
$ zsh /Applications/Python\ 3.8/Install\ Certificates.command
“`

# まとめ
言ってしまえばただこれだけの内容ではあるんですが、こんなん皆引っかかるでしょって思ったけどどうもググったところあんまヒットしないんで公式

元記事を表示

非線形カルマンフィルタ (1)

# 本シリーズについて
非線形現象に対するカルマンフィルタを本で勉強したのでメモも兼ねてまとめます.
観測データに基づいて, 線形確率システムの状態ベクトルを逐次的に最適化・推定するアルゴリズムとして, カルマンフィルタが有名です. カルマンフィルタは状態ベクトルの時間発展と, 状態ベクトルの観測に線形性を仮定しているため, 非線形の現象に適用するためには工夫が必要となります.
本シリーズでは線形カルマンフィルタから順を追って非線形カルマンフィルタの実装へ進んでいきます.
参考にした資料は[非線形カルマンフィルタ(片山徹)](https://www.amazon.co.jp/%E9%9D%9E%E7%B7%9A%E5%BD%A2%E3%82%AB%E3%83%AB%E3%83%9E%E3%83%B3%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF-%E7%89%87%E5%B1%B1-%E5%BE%B9/dp/4254201486)です.

今回は状態遷移、観測がともに線形である(行列演算で記述できる)ケースを考えます.
# TL;DR
コード( Jupyte

元記事を表示

OTHERカテゴリの最新記事