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

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

自己相関係数の計算の方法

#1 この記事は

自己相関係数をpythonで計算する方法を説明する。

#2 方法

3日周期が存在するデータの自己相関係数を自動計算する。(plot_acfを使う)

“`python:sample.py
#dataを定義する。
from statsmodels.graphics.tsaplots import plot_acf
import pandas as pd
import numpy as np

dat = [
[’07-01′,1],
[’07-02′,10],
[’07-03′,20],
[’07-04′,2],
[’07-05′,11],
[’07-06′,21],
[’07-07′,3],
[’07-08′,22],
[’07-09′,32],
[’07-10′,4],
[’07-11′,23],
[’07-12′,33],
]

#datをDataFrame型変数dfに格納する。
df = pd.DataFrame(dat,columns=[“A”,”B”]

元記事を表示

Mendeley 上の論文読者数をPythonで取得する

# はじめに
研究者の方々は、目にした/書いた学術論文の引用数が気になることがあると思います。
引用数はGoogle scholar 等で簡単に確認することができます。
引用数の前駆的な指標として、文献管理ソフトMendeley における読者数というものもあります。
こちらは少なくとも、Mendeleyを開かなければわからないように思えます。
そこで、スクレイピングの練習がてら、Mendeley reader 数を取得するスクリプトを作成してみました。

# 参考にした記事
[1] [pythonでwebスクレイピング](https://qiita.com/pontyo4/items/264b03d1f718fb55eb08)
[2] [Webスクレイピングの注意事項一覧](https://qiita.com/nezuq/items/c5e827e1827e7cb29011)

# 環境
Windows
Python 3

# スクリプト

全文は以下の通りです。
以下解説が続きます。

“`a.py
# Modules
import requests

# Constants
M

元記事を表示

Django 選択肢を自分の所属している施設のみにする

開発は、以前と同じペースで進めていますが、投稿がいまいちできていません。

今回は、何かを登録するときに、自分が所属している店のみ選択できるようにしようと思います。自分が、Pu-a-Puにのみ所属しているのに、希望シフトを登録するときに、間違えて縁宅って選んでしまうことを防ぐためです。

修正前

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701342/088d61cd-0e41-1bd7-6fae-f07f06f3e342.png)

調べると、forms.pyとviewsの追記で対応できました。

“`python:views.py
def get_form_kwargs(self):
kwargs = super(KibouCreate, self).get_form_kwargs()
kwargs[‘user’] = self.request.user
return kwargs
“`

独学でやっているためイメージ

元記事を表示

FlaskでHTTP環境変数

HTTP環境変数という言葉が合っているのかわからない。

“`py:app.py
from flask import Flask, request

app = Flask(__name__)

@app.route(‘/’)
def hello_world():
for k in request.environ:
print(“{}={}”.format(k, request.environ[k]))
return ‘Hello World!’

if __name__ == ‘__main__’:
app.run()

“`

“`
SERVER_SOFTWARE=Werkzeug/1.0.1
REQUEST_METHOD=GET
SCRIPT_NAME=
PATH_INFO=/
QUERY_STRING=
REQUEST_URI=/
RAW_URI=/
REMOTE_ADDR=127.0.0.1
REMOTE_PORT=62784
SERVER_NAME=127.0.0.1
SERVER_PORT=5000
SERVER_PROTO

元記事を表示

【Anaconda】仮想環境をactivateする

# 概要
仮想環境をactivateします。

# 仮想環境の一覧を確認する

“`
conda info -e
“`

仮想環境の名前を確認したら、

# 仮想環境をactivateする

“`
conda activate 仮想環境の名前
“`

完了です。

元記事を表示

command not found: django-admin

#command not found: django-adminを解決
##1.djangoのインストールができていない
##2.venv環境に入っていない
###1に関しては
“`java:ターミナル
(env)$ pip install django
“`
###2に関しては

“`java:ターミナル
brew install pyenv

“`java:ターミナル
export PYENV_ROOT=”${HOME}/.pyenv”
export PATH=${PYENV_ROOT}/bin:$PATH
eval “$(pyenv init -)”
“`
“`java:ターミナル
source .bash_profile
“`
“`java:ターミナル
pyenv install -l
“`
“`java:ターミナル
pyenv install anaconda-2.4.0
“`
“`java:ターミナル
pyenv versions
“`
“`java:ターミナル
pyenv global anaconda-2.4.0
“`
“`java:

元記事を表示

LeetCodeに毎日挑戦してみた 14.Longest Common Prefix (Python、Go)

## はじめに

無料英単語サイト[E-tan](https://your-e-tan.com/)を運営中の@ishishowです。

プログラマとしての能力を上げるために毎日leetcodeに取り組み、自分なりの解き方を挙げていきたいと思います。

#### Leetcodeとは

[leetcode.com](https://leetcode.com/)
ソフトウェア開発職のコーディング面接の練習といえばこれらしいです。
合計1500問以上のコーデイング問題が投稿されていて、実際の面接でも同じ問題が出されることは多いらしいとのことです。

Go言語入門+アルゴリズム脳の強化のためにGolangとPythonで解いていこうと思います。(Pythonは弱弱だが経験あり)

#### 5問目(問題14)

#### 14.Longest Common Prefix

– 問題内容(日本語訳)

> 文字列の配列の中から最も長い共通のプレフィックス文字列を見つける関数を記述します。
>
> 共通のプレフィックスがない場合は、空の文字列を返します`””`。

**Ex

元記事を表示

【 Python】スクレイピングツールの作成メモ

自分に向けたメモが主です。

##ゴール

パチンコのデータを取得するスクレイピングツールを作成

##設計

###台データ取得【テストまでOK】
G数や大当たり回数を取得するプログラムです。
これはほぼほぼ完成、テストで5台取得することができているので、全台となっても問題なく取得できるはず。
取得の流れはこちら

1.URLリストを作成する
2.URLリストを順番にアクセス
3.アクセスしたら欲しい情報を取得して、リストを作成
→例えばBB回数、G数を取得するのなら、それぞれリストを作成する
4.リストをデータフレームに変換

テーブルでread_htmlで取得することも試しましたが、各データフレームを結合するところで、うまく結合ができないため、欲しい情報だけをリストで取得し、それらをデータフレームに変換・結合する方法でまとまりました。

あとは取得したデータの型も整えます。

###スランプグラフの取得
各台のスランプグラフを取得するプログラムです。

考えている取得の流れはこちら

1.URLリストを作成(リストは台データと同じ)
2.画像URLリストを作成
3.画像URLを取

元記事を表示

ナップサックの制限は重さじゃなくて体積だと思うよw

こんばんは(*´ω`)
いつも応援有難うございます m(_ _)m

有名なナップサックに挑戦しました。
有識者のコードを斜め見しながら、
何がしたいのかを考察した次第です。

“`KnapSack.py
class Item:
def __init__(self,w=0,p=0):
self.weight=w
self.price=p

items = [ Item(300,400), Item(500,250), Item(200,980),
Item(600,340), Item(900,670), Item(1360,780),
Item(800,570), Item(250,800) ]

def knapsack(i, w):
if i==len(items):
return 0
if w – items[i].weight < 0.0: return knapsack(i+1, w) Val_sum0 = knapsack(i+1,

元記事を表示

深層強化学習1 強化学習概論

[Aidemy](https://aidemy.net/) 2020/11/21
#はじめに
 こんにちは、んがょぺです!バリバリの文系ですが、AIの可能性に興味を持ったのがきっかけで、AI特化型スクール「Aidemy」に通い、勉強しています。ここで得られた知識を皆さんと共有したいと思い、Qiitaでまとめています。以前のまとめ記事も多くの方に読んでいただけてとても嬉しいです。ありがとうございます!
 今回は、深層強化学習の一つ目の投稿になります。どうぞよろしくお願いします。

*本記事は「Aidemy」での学習内容を「自分の言葉で」まとめたものになります。表現の間違いや勘違いを含む可能性があります。ご了承ください。

今回学ぶこと
・(復習)強化学習について
・強化学習の手法
・DQN

#(復習)強化学習について
・__強化学習__は機械学習の一手法である。
・強化学習の構成要素としては次のようなものがある。行動する主体である__エージェント__、行動の対象である__環境__、環境に対する働きかけを__行動__、それにより変化する環境の各要素が__状態__である。また、行動により即

元記事を表示

Pythonを使って東京都家賃についての研究 (3の3)

#結果抜粋
ブログに同時掲載:

Pythonを使って東京都家賃についての研究 (3の3)

***

#統計の手法2

##プログラムと結果

###建物ごとに中央値を計算する

理由としては、建物の物件数が違います。例えば1ビル50物件があれば、分布を計算する時、その重みが1ビル1物件より50倍になります。均等に計算するように、建物ごとに中央値を取ります。

“`python
conn = sqlite3.connect(‘info.db’)
df = pd.read_sql_query(“SELECT pid,price,area FROM price”, conn)
conn.close()

df[‘municipal’] = df.apply(

元記事を表示

画像処理100本ノック!!(011 – 020)序盤戦

# 1. はじめに
 画像の前処理の技術力向上のためにこちらを実践 [画像処理100本ノック!!](https://github.com/yoyoyo-yo/Gasyori100knock)
とっかかりやすいようにColaboratoryでやります。
目標は2週間で完了できるようにやっていきます。丁寧に解説します。質問バシバシください!
001 – 010 は右のリンクから[画像処理100本ノック!!(001 – 010)丁寧にじっくりと](https://qiita.com/ProgramWataru/items/754d49c40ff73caec669)

# 2. 前準備
ライブラリ等々を以下のように導入。

“`python:
# ライブラリをインポート
from google.colab import drive
import numpy as np
import matplotlib.pyplot as plt
import cv2
from google.colab.patches import cv2_imshow

# 画像の読み込み
img = cv2.imre

元記事を表示

pipでの依存性管理を少しだけラクにしてみる

# はじめに

PythonBytes ポッドキャストの[最新エピソード(第208回)](https://pythonbytes.fm/episodes/show/208)を聴いていて面白そうなツールの紹介をしていたので試してみました。pipでの依存性管理が少しだけラクになると思います。

# pipでの依存性管理とその課題

まずpipでの依存性管理について基本的なおさらいを。必要なパッケージをインストールするには `pip install`で行います。例えば、`requests`と`pandas`という2つのパッケージをインストールすると以下のようになります。

“`shell
$ pip install requests
Collecting requests
Downloading requests-2.25.0-py2.py3-none-any.whl (61 kB)
|████████████████████████████████| 61 kB 7.2 MB/s
Collecting urllib3<1.27,>=1.21.1
Downloading

元記事を表示

FastAPIでformから複数画像をアップロードできない

# 概要
jsを使ってではなく、普通のhtmlの``タグからfastapiのバックエンドサーバーに複数画像をアップロードしようとした時にはまった備忘録です。

# 問題コード
“`index.html


Face Swap App

Look ma! HTML!



PythonでPDFにされた表をCSVに戻したい

# 表のデータベースがそのまま欲しかったのに
PDFという形式は人にデータを渡すときや、報告書などに他の資料とまとめて配布するには便利な形式ですが、FIXされてしまっているのでデータの再利用性という意味ではやっかいなことが多々あります。私自身も報告書に何千行という表をA4フォーマットで落とし込んで提出したのはいいが、後日それを利用したいタイミングで元データがなく、PDFから取り出さなければならない事態になったためこちらを書きました。

## 作り方
下のコードを書いてください。また別途tabulaというJavaのライブラリをインストールしておく必要があります。Pyhonのモジュールはあくまでもそのラッパです。

“` Python
import tabula
import PyPDF2
import pandas as pd

FILE_PATH = “./test.pdf”

with open(FILE_PATH, mode=’rb’) as f:
pages = PyPDF2.PdfFileReader(f).getNumPages()

for i in range

元記事を表示

エラーや実行完了をLINEで通知する【Python】

#はじめに
機械学習などをやっていると1つのプログラムの実行に数日かかるなんてことは珍しくありません.
プログラムの実行状況が気になり,数時間おきに端末を開く.
そんな日々を送っていませんか?
そんな人のために,今回はPythonプログラムのエラーや実行完了をLINEで通知する方法を紹介します.
LINEアカウントを持っている人なら10分程度でできるので是非!

#LINE Notifyの準備
通知を送るためにLINEが提供するLINE Notifyというサービスを使います.

まずは,ここからトークンを発行します.
https://notify-bot.line.me/my/

右上のログインボタンからLINEアカウントにログイン後,以下のような手順でトークンを発行&コピーします.

![手順1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840171/9715b8a5-27a1-30b9-7fde-39ddfc3aa553.png)

![手順2.png](https://qiita-image

元記事を表示

TensorFlow Object Detection API のつかいかた(推論。Colabサンプル付き)

記事を読めば、TensorFlow Object Detection API (推論部分)のつかいかたがわかります。
Colabでできます。

[Colabサンプル](https://colab.research.google.com/drive/1bb2QfeMEWomL-UA_Y68QqbNA0GnXVQoV?usp=sharing)

サンプルのセルを実行していくと、TensorFlowObjectDetectionAPIが試せます。
最後のセルのImage_Pathを自前の画像のものに変えると、自前の画像で物体検出できます。

TensorFlow公式 Model Zooにはいろんな種類のモデルがあります!
![ダウンロード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/c59a5c87-113c-ce22-1422-6ea6e3b97d1b.png)
#手順
###0.Ten

元記事を表示

VS codeで、Ubuntuからスクリプトファイルを開く方法

スクリプトファイルがあるディレクトリに行って、下記を実行せよ。
但し、「」『←<ファイル(英語)>って書きたいのに、消えてしまう』は実行したいスクリプトファイルである。例えば、xx.py などのpythonスクリプトファイル。

“`
cmd.exe /C code
“`

健闘を祈る。

元記事を表示

C++ の学習サイトを作りました

# はじめに

C++ って他の言語に比べると勉強しづらくないですか?

書籍や学習サイトの内容が古い、または少ないんですよね。ただでさえ言語仕様が複雑なのに、それを手助けする情報も少ないと初学者には辛いんじゃないかと思います。というか僕がそうでした。

そんなわけで、もう少し今風な学習サイトを作ろうと思って作成しました。

# ゼロから学ぶ C++

https://rinatz.github.io/cpp-book/

[![a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315525/a62312ff-0752-2dd0-b0a2-8d8acbcf8f2f.png)](https://rinatz.github.io/cpp-book/)

ちゃんとスマホでも読めるようになっています。

C++11 をベースに作っているので、このサイトももはや古い方に入るかも知れませんが、C++20 が浸透してきたらアップデートしようと思います。

よかったらご活用下さい。

# ゼロから学ぶ Python(姉

元記事を表示

「伸び悩んでいる3年目Webエンジニアのための、Python Webアプリケーション自作入門」を更新しました

# オンラインブックを更新しました

[チャプター「POSTパラメータを扱えるようにする」](https://zenn.dev/bigen1925/books/introduction-to-web-application-with-python/viewer/post-parameters) を更新しました。

続きを読みたい方は、ぜひBookの「いいね」か「筆者フォロー」をお願いします 😉

—-

以下、書籍の内容の抜粋です。

——

# リクエストボディを扱う

前章の最後に、Chromeで`/show_requests`へアクセスした結果を見てみるとリクエストボディが空になっていたことが分かりました。

しかし、仮にボディが空でなかったとして、私達のWebアプリケーションはリクエストボディを変換したり解釈したりする処理はまだないのでした。
せっかくなので、ここいらでリクエストボディを扱えるようにしておきましょう。

リクエストボディはクライアントからサーバーへ付加的な情報(パラメータとも言う)を送るのに用いられ、一例として`POST`メソッドのリクエスト(以

元記事を表示

OTHERカテゴリの最新記事