Python関連のことを調べてみた2021年07月14日

Python関連のことを調べてみた2021年07月14日
目次

VSCode+Pythonで未使用importがある場合、”問題”パネルに表示+エディタ上で視認しやすくする

## 手順

※拡張機能としてPylanceが入っていることが前提

`Ctrl+Shift+P > ユーザ設定のJSONを開く(”基本設定: 設定(JSON)を開く” )` 開いたJSONに下記を追加。

“`
“python.analysis.diagnosticMode”: “workspace”,
“python.analysis.diagnosticSeverityOverrides”: {
“reportUnusedImport”: “warning”,
},
“`

問題パネル上に未使用importがリストアップされるようになるので、そこから `右クリック > remove unused import` で消せる(エディタ上からも同様の操作で消せる)。

#### 備考

Pylanceの機能でlintしている。
詳細は拡張機能から Pylance を開いて、 `詳細 > “Setting and Cusomization” > “python.analysis.diagnosticSeverityOverrides”` 部分を参照。
※説明の近くにある he

元記事を表示

DatabricksのPythonにてDBFS上に変数の値をファイルとして保存する方法

## 概要
DatabricksのPythonにてDBFS上に変数の値をファイルとして保存する方法を2つ紹介します。

1. dbutilsを利用する方法
1. PythonのOpenを利用する方法

詳細は下記のGithub pagesのページをご確認ください。

https://manabian-.github.io/databricks_tecks_for_qiita/#put_file_to_dbfs/put_file_to_dbfs.html

コードを実行したい方は、下記のdbcファイルを取り込んでください。

“`python
https://github.com/manabian-/databricks_tecks_for_qiita/blob/main/tecks/put_file_to_dbfs/dbc/put_file_to_dbfs.dbc
“`

## 実施手順
### 1. dbutilsを利用する方法

“`python
file_path = f'{file_dir}/dbutils/test.csv’

# データを定義
csv_data =

元記事を表示

独学プログラマーのまとめ その1

#初めに
自身の学んだことのアウトプットとしてQiitaに記事を書くことにしました。

備忘録としてまとめていきますが、自分なりにわかりやすく整理していきたいです。

##独学プログラマー

独学プログラマー Python言語の基本から仕事のやり方まで
コーリー・アルソフ 著 清水川貴之 監訳 

参考書として上記の本を選びました。
python言語の基礎知識から、プログラミング全般を広く学べる本とのことでおすすめされていました。

##第1部
初めての投稿なので1章だけ。
全体として、用語集やチャレンジ問題があるので知識の整理がしやすい。

###1章 イントロダクション

– 大事なところから学ぶ
– 理論から学ぶのではなく、実際に動かしてみてから必要だと思った理論を学ぶほうが効率よく学べる。
– 断固として継続しよう
– スキルが上達しない唯一の原因は継続して練習しないこと

以上の2点は特に心に留めておく。

# まとめ
アウトプットの大切さは著者の清水川さんの記事でも強調されているのでこれを継続する。
[独学プログラマー](https://type.jp/et/f

元記事を表示

ツイートを整形する【?のような絵文字も削除】|つぶやきをWordcloudで可視化②

私事ではありますが、2020年5月にコーギーという中型犬をお迎えしました。
[愛犬のブログ](https://corgi-komugi.com/)を運営してますので、見てもらえると嬉しいです。

corgi_komugi

「コーギー関連のツイートをwordcloudで可視化したい!」と思い立ち、以下の4項目を実施しました。

1. [TwitterAPIでツイートを取得](https://qiita.com/komugi_papa/items/e5d7fb6dafaf68caa1e0)
2. 正規表現を用いてツイートを整形 ← 今回
3. SudachiPyで形態素単位に分割
4. WordCloudで可視化

[一連のコードと様々なアウトプットの表示](https://c

Progateで作ったWebアプリをDjangoで作ってみる! Part3

ProgateのNode.jsコースではお買い物リストアプリを作るのですが、これと全く同じものをDjangoで作ってみます。

Djangoでのアプリ開発の一連の流れを整理するために記していきます。

**目標物**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471633/f75ec259-afa7-615a-2e96-01db943e50f9.png)

HTMLとCSS、PNG形式画像は使い回しで、一部をDjango用のタグに変えます。

# 前回のおさらい

[Part1](https://qiita.com/insilicomab/items/5268d49867b0c24d96e9)
[Part2](https://qiita.com/insilicomab/items/bab360f4d1503034ddf5)

Part1では初期設定、Part2ではトップページの表示をしました。

今回はデータベースの設定をしていきます。

#models.py

Djangoでデータ

openpyxlでpythonからエクセルファイルを操作する

## OpenPyXLとは

pythonでエクセルファイル(xlsx, xlsm)を操作するパッケージです
https://openpyxl.readthedocs.io/en/stable/index.html

値をいじるだけじゃなく書式やテキストボックス、画像オブジェクトなどの要素を変更したり出来ますので、一般ユーザー向けに結果をEXCELファイルで書き出す際に書式を整えたりするのに便利です

公式チュートリアルは以下になります
https://openpyxl.readthedocs.io/en/stable/index.html

## 1. インストール

pipで入ります

“`terminal:terminal
pip install openpyxl
“`

画像ファイルを扱いたい場合はpillowも要ります

“`terminal:terminal
pip install pillow
“`

## 2. bookの操作

openpyxl.workbook.workbook.Workbookクラスのインスタンスとして扱われます

###

AWS超絶初心者がSESを使ってメールの一斉送信やってみた

筆者のレベル感は

– AWSの構成図は読める、それぞれの機能の概要はなんとなく分かる
– AWSでの実装経験はゼロ(システム開発経験もゼロ)

なので、生暖かく見守ってください。

#やりたいこと

リスト化されたメールアドレス宛に、対応する宛名を文面に盛り込んだメールを送りたい。

基本的には以下の記事を参考に実装。項目も引用させてもらっています。

https://dev.classmethod.jp/articles/bulk-email-ses-lambda/

#SESで送信元メールアドレスを登録
ここはうまくいった。方法はネットに溢れているので割愛

#DynamoDBでユーザーテーブルを作成
???
userId(PK)とはなんぞや???プライマリキーということは分かったけど、
a06b7c45-1303-45bf-a2d7-fec53fbc224cとかが何を表しているのか分からないので、
いったん以下のように記載

| userId(PK) | name | emailAddress |
|:-:|:-:|:-:|
| 1|太郎 | test1@XXX

「つみたてNISAは米国インデックスファンド放置で良い」は本当か?

こんにちは、最近になってつみたてNISAを始めた今年2年目の社会人です。つみたてNISAは運用益が非課税、半自動的に積立運用可能、途中で取り崩し可能と様々なメリットがあり、非常に有益な制度です。そんなつみたてNISAを活用する上でよく耳にするのは「信託報酬が安くてパフォーマンスの高い米国インデックスファンド一択!一時的に暴落しても戻るから気にするな!」という話です。確かに2000年のITバブル崩壊、2008年のリーマンショックという暴落を経験しながらも、S&P500といった代表的な米国インデックスの直近20年のパフォーマンスは素晴らしいです。

しかし、本当に米国インデックスファンドを積立・放置するだけでいいんでしょうか?頭を使わずに、というのは言い過ぎかもしれませんが放置しているだけで資産が殖えるなんて美味い話、不安を感じるのも確かです。そこで過去に米国インデックスファンドを積立・放置していたらどうなるか簡単にシミュレートしてみました。また、よく見るシミュレーションは直近20年のものが多いですが、今回は積立開始時期を変えながら検証してみました。

# 注意事項
– 私は資産運用を始

未経験からデータ分析を仕事にするまでに役に立った教材をまとめていく

こんにちは。現在、私はPythonやらJuliaやらを使ってデータ分析をしているのですが、最近、自分の所属部署にも新入社員が入ってきて、後進の育成をする立場になりました。そこで、「このページにあるやつが良かったよ」と言って済ませられるように、データ分析を仕事にするまでに実際に役に立ったなと思う教材・参考になったサイト・書籍等を、これまでの経験をもとにまとめていきます。

私自身、プログラミングも統計学も全く知らない状態から独学してきたので、「データ分析を仕事にしたいけどなんのスキルもない!」という悩みのある初学者の参考になればと思います。

– 注1: 日本語と英語が読めるのが前提条件になります
– 注2: ググって1分で解決できる問題については掲載してません
+ 例えばjupyterのインストール方法とか

## Python

– [Kaggle Learn](https://www.kaggle.com/learn)
+ 機械学習コンペサイトのKaggleが提供している、機械学習に最低限必要な知識セット
+ 何もわからない当時、ここがいちばん役に立った
– [Lea

McCabe の循環的複雑度(McCabe Cyclomatic Complexity : 以下、MCC)

#MCC を python で使う場合
python で計測したい時は[ここ](https://pypi.org/project/radon/)や[ここ](https://pypi.org/project/mccabe/)にインストール方法や利用方法が書いてあるので参考にしてほしい。

#MCC の概要
とても簡単で、条件分岐がいくつ存在していますか?というメトリクスである。この数値はを参考にすれば、テスト項目が最低限何個必要かをざっくりと知ることができるので非常に便利である。そのことから推測できるかもしれないが、条件分岐がない場合は 1 として数えるのでそこだけは注意が必要である。

#MCC で Why を考える
ここで早速 [5W1H のフレームワーク](https://qiita.com/WaterIsland/items/0214adb38cdcda4bdfe8)の Why を使ってみよう。
Why should we use MCC? -> Because…
ということで答えを言ってしまえば、テスト漏れの発生/可読性の低下/保守性の低下を事前に予期できるからである。

パス打ちオートの簡単な作り方

#必要な知識
– TwitterAPIについて
– Pythonの基礎
– Pythonista3の使い方

#準備

https://apps.apple.com/jp/app/pythonista-3/id1085978097

こちらのアプリを使って作成します

#TwitterAPI取得
最初にして最高難易度!
これさえクリアしてしまえばあとは楽勝です

2021年度版 Twitter API利用申請の例文からAPIキーの取得まで詳しく解説

【2021年版】TwitterAPIの申請・APIキー発行方法!ツイッターボット作成に必要な手順を解説

https://dev.classmethod.jp/articles/twitter-api-approved-way/

【2020年版】Twitter APIの申請が1時間で完了した英文を申請方法と共に徹底解説!

参考になりそうな記事をまとめておきました

ここは色んな記事があるので割愛します

#Pythonistaの準備

https://qiita.com/_Lo_oJ/items/f96bd031e3861e356974

インスタをPythonで自動化してみる

#目標
インスタのアカウント育成を自動化したい

#インスタ 自動化 Python
これで検索するとこちらの記事が出てきました。

https://oretano.com/instagram-python-like

自動でいいねしてくれるプログラムです
今回はこれを元に

– 自動いいね(ちょっと改良)
– 自動フォロー
– フォロバされてない人の自動フォロー解除
– 自動ブロック

を作っていこうと思います。

必要な準備は上記のサイトにすべて記載されてるのでこちらには書きません

#自動いいね(ちょっと変えました)

“`
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common.action_chains import ActionChains
import time
import random, sys

def login():
driver.get(‘https://www.inst

Pythonで(比較的)簡単に計算できる非線形微分方程式

# はじめに

不規則な状態を実現するために、非線形微分方程式を解きたいと思ったので、Pythonで簡単に実装できるいくつかの非線形微分方程式をまとめておきます。

# 環境

– Windows 10 home
– Python(3.7.6)

– Numpy(1.19.4)
– Scipy(1.5.2)
– matplotlib(3.3.2)
– JupyterLab(2.2.8)

# Lorenz63

“`math
\begin{align}
&\frac{dx}{dt} = \sigma(x – y) \\
&\frac{dy}{dt} = x(\rho – z) -y \\
&\frac{dz}{dt} = xy – \beta z
\end{align}
“`

Lorenzが1963年に発表したカオス的なふるまいをする非線形常微分方程式です。パラメータは$\sigma$ , $\rho$, $\beta$です。Python Scipyのsolve_ivpを利用して、ルンゲクッタ法で計算します。

“`Python
import numpy as np
from

診断メーカーから診断結果を取得(Python, Bash)

# 何?

[診断メーカー](https://shindanmaker.com)から結果を取得したい

## 手段

– 要Session
– 診断ページに以下のパラメータをPOST:
– `_token`: 診断ページから取得
– `shindanName`: 任意
– ここをランダムにするとランダムな結果が得られて楽しい
– `hiddenName`: 診断ページから取得

## Python

“`python
#!/usr/bin/env python
import random
import time
from typing import Optional

from bs4 import BeautifulSoup as BS
import requests

def shindan(url: str = ‘https://shindanmaker.com/1023289’,
name: Optional[str] = None) -> str:
session = requests.session()
s

KaggleチュートリアルのHouse Priceに取り組んでみた

# はじめに
前回の[Titanic(タイタニック)](https://qiita.com/Helvetica822/items/d035ea0eeca5b409e32a “Titanic(タイタニック)”)に続いてKaggleの回帰問題における初心者向けチュートリアルであるHouse Priceに取り組んでみました。
Titanicでは乗客の生死についていずれであるか予測しましたが、このHouse Priceは住宅の販売価格の連続値を予測します。

今回いくつかのモデルを試してみましたが、結果は以下のようにElastic Netが試した中では一番良い結果となりました(もちろんハイパーパラメータの値によっては変わりうると思いますが)。
ハイパーパラメータは参考にしたページの値をそのまま使用させていただいています。

__Lasso < ランダムフォレスト回帰 < Ridge < Elastic Net__ Elastic Netのスコア:0.13585 順位:5,444 / 14,101 (38.6%) 最初にElastic Netで出して最後に出し直したら、やってること変わってな

【ラビットチャレンジ(E資格)】深層学習day3

# はじめに
本記事はJDLA E資格の認定プログラム「ラビット・チャレンジ」における深層学習day3のレポート記事です。
本記事では以下の7つの項目について、要点をまとめています。

– 再起型ニューラルネットワークの概念
– LSTM
– GRU
– 双方向RNN
– Seq2Seq
– Word2vec
– Attention Mechanism

# 1. 再起型ニューラルネットワークの概念
## 概要
### Recurrent Neural Network(RNN)
再帰型ニューラルネットワーク(Recurrent Neural Network:RNN)は、時系列データの扱いを得意とするニューラルネットワークです。
時系列データとは時間的順序を追って一定間隔ごとに観察され、なおかつ相互に統計的依存関係が認められるデータ系列のことであり、音声データやテキスト(自然言語)データなどがあります。
RNNの構造は下図のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.

Pandasの基礎 DataFrameの生成

DataFrameとはPandasで扱う種類のデータ構造。
引数にSeriesを渡すと生成できる。

“`
pd.DataFrame([Series1, Series2, …..])
“`

また、バリューにリスト方を持った辞書型を用いても生成可能。
注意点としては、リスト型の長さは同じでないといけない。

“`
data = {“fruits”: [“apple”, “orange”, “banana”],
“year”: [2018, 2019, 2020],
“season”: [11, 2, all]}
df = pd.DataFrame(data)
display(df)
“`

#出力結果

![スクリーンショット 2021-07-13 21.40.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1736279/09d111c7-c9f5-a441-dec3-eff49ac89d62.png)

Python仮想環境のDjangoアプリをWindowsタスクスケジューラに登録するにはコマンドを && で接続する

## はじめに

Python仮想環境上で動作するDjangoアプリをWindowsサーバ上のタスクスケジューラで常時動作させるTipsをご紹介いたします

* OS:Windows10 Pro または Windows Server 2016 / 2019

## 結論

バッチコマンドファイル内に以下のコマンドを `&&` 接続子でつないで記述します

|SEQ|コマンド |
|:-:|———————————|
| 1 |Python仮想環境のアクティベーションコマンド |
| 2 |Djangoアプリサーバの実行コマンド |

* `&&` 接続子:プロセスの実行が完了してから次のプロセスを実行します
* まずPython仮想環境のアクティベーションの終わるのを待ってから、Djangoアプリサーバの実行を行うようになります

## 例

* ¥¥windows-server001¥dev¥django¥webSite¥runsurver.bat

“`bat:r

AWSでAIサービスを使ってみる〜③polly編〜

## Amazon Pollyとは
AIのテキスト読み上げのサービスです。テキストから音声を合成することができるAWSのサービスです。また、他言語にも対応指定たりニューラル音声といったより流暢にテキスト読み上げる機能(現状一部言語のみ)もあります。

## テキストから音声ファイルを作成してみる

エディタでpythonファイルを作成し、pollyサービスクライアントを利用してテキストの音声合成を行います。

“`warabimochi.py
import boto3
import contextlib
import os

#pollyサービスクライアントを作成
polly = boto3.client(‘polly’)
#音声合成のテキスト
text=’Nさんは次のミーティングまでにSさんにわらび餅を買う予定です。’

#テキストから音声を合成
result = polly.synthesize_speech(
Text=text, OutputFormat=’mp3′,VoiceId=’Mizuki’)

#出力ファイルのpath
path = ‘warabimochi.m

MacOS Big Sur でPyxelをインストールしたらハマった件のまとめ

# Pythonでゲーム作り
ひょんなことからPythonでゲームを作ることになり、色々と探していると[Pyxel](https://github.com/kitao/pyxel) という良さげなライブラリを見つけたので、使って見ることにしました。
しかし、インストールでハマったので、健忘録を残します。

## まずはリファレンス通りにインストール
[Pyxel](https://github.com/kitao/pyxel) のリファレンスを参考にインストールを進めます。
そのまま動く人は、それでOKです。
ただし、

“`python:
$ install_pyxel_examples
“`
と入力して

“`
Traceback (most recent call last):
File “/usr/local/bin/install_pyxel_examples”, line 5, in
from pyxel.examples import install
File “/usr/local/lib/python3.9/site-packa