Python関連のことを調べてみた2022年08月13日

Python関連のことを調べてみた2022年08月13日
目次

flask run が上手くできない場合の対処法

Python Flaskにてflask runでプレビュー画面を表示しようとした際、一部ターミナルでは機能しない場合があります。
ちなみに自分の場合はpowershellにて問題が起こりました。

(例)Dcument

flask run

(結果)
+ CategoryInfo : ObjectNotFound: (flask:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

(原因)
恐らくPathが通っていないことが原因でコマンドとして認識されていないと思われます。

(解決)
1,Pathを通す。
システム環境変数の設定にて設定しなおしてください。

2,pythonコマンドを使う。
pythonのversionを指定して、そこからflask runを割り当てます。

(書き方)
python3 -m flask run
 

元記事を表示

Python小技集 – #1 リスト/タプルから重複要素を削除する方法

こんにちは!beatbox4108です。
今日は**Pythonでリスト/タプルから重複要素を削除する方法**について説明していきます。
方法は2種類あります。
* setを使う方法
* dictを使う方法
* dict+zip (応用)

# setを使う場合
Pythonには重複しない値の集合である`set`があります。
ふつうはこれを使うのが良いでしょう。
“`python3
l=[1,1,2,3,3,3,5,6,6,9,0] # サンプル

# setを使う場合
a=list(set(l))
print(“setを使う場合:”,a)
“`

“`
setを使う場合: [0, 1, 2, 3, 5, 6, 9]
“`

アンパックを使えばもっと簡潔に書けます。

“`python3
l=[1,1,2,3,3,3,5,6,6,9,0] # サンプル

# setを使う場合(別解)
b=[*{*l}]
print(“setを使う場合 (別解):”,b)
“`
“`
setを使う場合 (別解): [0, 1, 2, 3, 5, 6, 9]
“`

:::note

元記事を表示

トレンド、周期性がある時系列データの予測の仕組みを解説【Python statsmodelsを使った検証付き】

# はじめに

統計的時系列モデルを使うと下図のような予測が可能です。これが、どういう仕組みで行われるかを明らかにします。

![order=(1,1,0),seasonal_order=(0,1,0,20).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571330/2d42758f-9559-02c8-9cff-95f0dd79f3e6.png)

具体的には、

1. Pythonの[statsmodelsというライブラリのARIMA](https://www.statsmodels.org/devel/generated/statsmodels.tsa.arima.model.ARIMA.html#statsmodels.tsa.arima.model.ARIMA)を使用して、上図のpredictを求める機能を実装
2. Pythonでライブラリを使わずに、同様の機能を実装

を行い、1.と2.の結果が一致するかを確かめます。

ただ予測をするだけなら1.で十分ですが、2.と合わせることで、

元記事を表示

【Python3.9 / FastAPI】アップロードされた画像容量を取得して、バリデーションをかける方法

# 環境

* fastapi
* python3.9

# 全体のソース

“`sample.py
from fastapi import UploadFile
from pydantic import BaseModel, validator
from sample_app.domain.models.valueobjects.exceptions import InvalidRequestException

IMG_MAX_SIZE = 2 * 1024 * 1024

class UploadImage(BaseModel):
upload_image: UploadFile

@validator(“upload_image”)
def validate_upload_image(cls, v: UploadFile) -> UploadFile:
v.file.seek(0, 2)
img_size = v.file.tell()
if img_size > IMG_MAX_SIZE:

元記事を表示

pythonで適当なクラスタを持つサンプルデータを作る

# pythonで適当なクラスタを持つサンプルデータを作る

## 1次元の適当なサンプルを作る

こんな感じの分布のサンプルを作ります

![plot1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104691/21c7bece-a753-ff73-a1dc-332aaa71b294.png)

ソースです

“` python

import matplotlib.pyplot as plt
import random
import sys

def createDistribution(counter):
samples = []
for cnt in counter:
sample = []
for i in range(cnt):
sample.append(random.gauss(0,1))
samples.append(sample)

y = []
for i in ra

元記事を表示

PythonでSeleniumを使ってみる

スクレイピングを勉強した際にSeleniumを使ったのでインストール方法などをまとめてみる。
# 環境
* Windows10(64bit)
* Anaconda3
* Python 3.7.6
* Spyder 4.0.1
* Selenium 3.141.0
* Chrome 85.0.4183.121
* ChromeDriver 85.0.4183.87.0

以下この環境で解説しています。環境が違う方は適時読み替えてください。

# 使うもの
* Selenium
* Chrome
* ChromeDriver

# Seleniumインストール
Anaconda Promptを開いて

“`
pip install selenium
“`

Successfully installed seleniumうんたらかんたらと出たら完了

# ChromeDriverインストール
## 自分のChromeのバージョンを確認
「ヘルプ→GoogleChromeについて」から見れます。
もしくはブラウザのアドレスバーに

“`
chrome://settings/help
`

元記事を表示

科研費小区分のキーワードをBERTでベクトル化して申請する小区分をレコメンドする

# はじめに
[この記事](https://qiita.com/kageazusa/items/a300fc0f0a575ebfee7f)の続きです。
前回は[科研費小区分](https://www.jsps.go.jp/j-grantsinaid/03_keikaku/data/r05/syokubun.pdf)のキーワードをBERTでベクトル化し、次元削減して可視化しました。
今回は、任意のキーワードを入力し、そのキーワードに応じて申請する小区分をレコメンドしてみます。
ベクトル化までの手順は前回と同じです。

# 環境
Google Colaboratory

# コード
## 準備:前回と共通
transformersからBERT東北大モデルを利用します。
“`
!pip install torch transformers fugashi ipadic
“`
“`Python:Python
import pandas as pd
import numpy as np
import torch
from transformers import AutoModel, Aut

元記事を表示

pythonで”/”を含む文字列を”/”で区切って一番最後の要素を出力する際の備忘録

pythonで”/”を含む文字列を”/”で区切って一番最後の要素を出力する際の備忘録

“`test.py
# /を含む文字列
s = “xxx/yyy/zzz”

# “/”区切りで分割してリスト化
s = s.split(“/”)

# 最後の要素を取得
s = s[-1]

# 出力
print(s)
“`

“`test2.py
# 1行で実行する場合は以下の通り
s = “xxx/yyy/zzz”
print(s.split(“/”)[-1])
“`

“`sh
$ python test.py
zzz
$ python test2.py
zzz
“`

他にも色々な方法がありそうな気がする

# 参考
https://atmarkit.itmedia.co.jp/ait/articles/2103/23/news022.html

元記事を表示

最小二乗法・リッジ回帰・ラッソ回帰の係数を比較する

# この記事は何?

リッジ回帰・ラッソ回帰とはモデルの係数にペナルティを付けることでモデルが過学習しないように工夫した線形回帰モデルです。これらの手法のように、過学習を防いで汎化性を高めようとする技術を正則化と呼びます。このページでは、pythonを使って最小二乗法・リッジ回帰・ラッソ回帰を実行して、それらの係数を比較します

元記事を表示

Deep Neural NetworkでCalifornia Housingの回帰問題を解く

# 0.初めに
夏季連休ということで、Deep Neural Networkで回帰問題を解いてみようと思います。
データセットはsklearnのCalifornia_housingを活用します。

# 1.データのインポート
sklearnのdatasetsからデータをインポートします。

“`python:California_housing.py
import numpy as np
from sklearn.datasets import fetch_california_housing

cali_housing = fetch_california_housing(as_frame=True)
“`
# 2.データの前処理
データの前処理で**予測精度の80%は決まってしまう**ので、入念に調査することを心掛ける。

まずは入力因子・出力因子が何なのか観察する。
●入力因子は下記の8つ。
 1列目:MedInc(所得) median income in block group
 2列目:HouseAge(築年数) median house age

元記事を表示

【初心者が教える超入門】Pythonによるデータサイエンス①(要素数、ユニーク数の確認)

# はじめに
初めまして!
技術・プログラミング初心者のTim(てぃむ)です。
今後は、自身で学び始めて分かったこと・習得したこと等を初心者ならではの視点でお伝えできればなと思っております。
記事をご一読いただいた上で、意見/指摘/アドバイス等々いただけるととても嬉しいです!
よろしくお願いいたします。

# 本題
今回は、最近学び始めたデータサイエンスの分野です。
Pythonでデータ分析を行う際に、必要なコードを簡単に綴っていこうと思います。
複数回に分けて随時投稿していきます。
記念すべき第1回です!

# データフレームの行列・列数の確認
## df.shape
“`python
import pandas as pd

#csvファイルの読み込み
df = pd.read_csv(‘test.csv’)

df.shape
print(“行数,列数”, df.shape)
“`
出力例
“`python
行数,列数 (450, 8)
“`

# データのサイズ(行数x列数)の確認
## df.size
size関数の返り値は行数x列数ですが、これは欠損値(NaN)を

元記事を表示

[Jython]SikuliXによるRPA開発 ~はじめの一歩~

[
![600×200.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513692/17ca4477-a1cf-537b-871f-907fb01cb19e.png)](http://sikulix.com/)

GitHubで公開しているSikuliXのサンプルプログラムに関する解説です。

https://github.com/singularity-effect/TextHelper

これはRPAの基本とも言える、ユーザーの代わりに画面を識別し、マウスやキーボードを操作する機能を使っているデモプログラムです。この開発中にSikuliXの仕様について気付いた点を投稿していきたいと思います。

## Finderクラスの基本

SikuliXを使う最大のメリットはこの[`Finder`][Finder]ではないでしょうか? かなり手軽に画像のマッチング操作を利用できます。

[Finder]: https://sikulix-2014.readthedocs.io/en/latest/finder

元記事を表示

Memo – Python Parallel and Concurrent Programming

## Threading

### to run the function in a new thread (non-daemon)
“`
import threading
thread_variable = threading.Thread(target=function_name)
thread_variable.start()
“`

### to call the function back to the main thread
“`
thread_variable.join()
“`

### to run the function in a daemon thread
> When the main thread exits, the daemon thread(s) will automatically exits.

“`
thread_variable.daemon = True
thread_variable.start()
“`

### to set a mutual exclusion
“`
lock_variable = threading.L

元記事を表示

python GUI入門  QtDesigner + pySide 子ウィンドウ表示

# 1. 実行サンプル
pushButtonを押すと、ダイアログが起動する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423803/0c0b28e2-ce23-91a9-1ae4-6ea832d01446.png)

2. 実行環境
windows10
python3.9.5
Qt5.1.5 (QtDesigner6.0.2コミュニティ)

pythonモジュール:pySide6(pipでインストールしておく)

3. 実行手順
ソースコードを作成する
windowsコマンドプロンプトでプログラム作成したフォルダに移動し、下記実行する
“`
python mainwindow.py
“`

# 4.ソースコード作成手順
参考

https://qiita.com/taiko1/items/c19d75ba09d60ae5f5a6#4%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E4%BD%9C%E6%88%90%

元記事を表示

【lambda】他の配列を参考にリストを並べ替える

## はじめに

**Pythonで他の配列を参考にリストを並べ替える**方法について解説します。

※プログラミング関係の内容を他にも投稿していますので、よろしければ[こちら](https://qiita.com/oki_kosuke/items/34b1071224953776c211#%E6%8A%95%E7%A8%BF%E4%B8%80%E8%A6%A7)の一覧から他の投稿も見て頂けますと幸いです。

## 実現したいこと
input_list = [‘ten’, ‘nine’, ‘three’]
このようなリストが与えられた際に数として並べ替えたい。つまり、数字の3,9,10の順に従って、[‘three’, ‘nine’, ‘ten’]と出力したい。

## listの並び替えの復習
リストは以下のように並べ替え可能です。

“`python
name_list = [“Charle”, “Mike”, “Bob”, “Alice”]
sorted(name_list)
“`

“`:出力
[‘Alice’, ‘Bob’, ‘Charle’, ‘Mike’]
“`

元記事を表示

Pythonでテキストアナリティクス  〜『テキストアナリティクス入門』に沿い共起ネットワークなど描いてみた〜 Part3:辞書登録編

## はじめに
**[テキストアナリティクス入門](www.amazon.co.jp/dp/4065274109)**
![テキストアナリティクス](https://www.hanmoto.com/bd/img/9784065274101.jpg?2022-03-11T16%3A10%3A21%2B09%3A00)

この書籍は、テキストアナリティクス初学者向けの入門書です。
テキストアナリティクスとは何だということのみならず、頻出語やこれを表現したWordCloud、共起ネットワークをどのように活用すべきかが、実例に沿ってわかりやすく解説されていて、とても参考になりました。

紹介されているテキストアナリティクスを実行したい!ということで、
– [**1回目**](https://qiita.com/hima2b4/items/5619e617c34f588b418a)は、テキストの頻出語確認→WordCloud→共起ネットワークの作成および原文検察を、形態素解析した単語で実行。
– [**2回目**](https://qiita.com/hima2b4/items/53ae54a7

元記事を表示

PIP Package 依存関係エラーの調査例を詳しく解説しました

依存関係、わかりませんよね??

オープンソースがオープンソースに無限に依存している昨今、依存関係に悩まされることは日常茶飯事です。駆け出しの方は調査方法すらわからないと思うので、この記事を書いてみました。1年以上前に書いたので内容は古いですが、調査方法は今も変わりません。これはpythonですが、他の言語でもだいたい同じだと思います。誰かの参考になることを願ってここに記します。

なお、この問題は **たった1行** の修正で直りました。しかしその1行にたどり着くまで、こんな行程があったんだよという参考にもしてほしいです。

# 調査フロー

一口に調査といっても、その過程には様々な内容が含まれています。簡単に言えば、今知りたいのは「直す方法」です。しかしその過程にはこのような要素が含まれます。

1. 原因の仮設を立てる
1. 被疑者(エラーを起こす張本人)を建てる
1. 犯人の証拠を掴む
1. 修正方法の決定

この記事には、 “3.犯人の証拠を掴む” ところに失敗し、”2の被疑者” が間違っていたという内容が含まれています。闇雲に修正を当ててみても直らないことも多々あります。私

元記事を表示

Pythonの移動データ解析パッケージまとめ

Pythonの移動データ解析用のパッケージを調べてみました。他にもあったら教えてください。

# ヒト・大きい対象(動物、乗り物など)向け
## [MovingPandas](https://anitagraser.github.io/movingpandas/)
– [チュートリアル](https://github.com/anitagraser/movingpandas-examples)の座標が緯度経度データになっている。座標の単位を[m]などで表したデータはそのまま使えない?
– 速度、停止などの解析が可能。
– [文献](https://www.austriaca.at/0xc1aa5576_0x003aba2b.pdf)

## [scikit-mobility](https://github.com/scikit-mobility/scikit-mobility)
– 座標は緯度経度。
– 全体の移動(人流)にフォーカスした解析が可能。
– [日本語記事がある。](https://qiita.com/igarashi4423/items/5e5763cf50c7a2c36

元記事を表示

AtCoderのワークフローをVSCode内で完結させよう!

## 概要
こんにちは、shunです。AtCoderの画面からエディタ内で書いたコードをコピぺしたり、コピペしたコードをマウス使って手動でテストするのめんどくさいですよね?
今回はなんと
– コード記述用のテンプレートファイル作成
– コードのテスト
– コードの提出

まで全てVSCode内で完結させる手順について1から解説していきたいと思います

## 前提
– AtCoderで使用する言語がPythonの場合の設定方法です。別の言語を使う際は使用する言語にコマンドを置き換えてください
– 問題文の取り込みまでは自動化できないです。ご了承ください
– 開発環境はMac
– Linuxのコマンドはある程度理解している
– pip、Node.js、pythonはインストール済み
– AtCoderのアカウント作成済み

## 記事の紹介
AtCoder始めたばかりで何を勉強したらいいいかわからない方向けの記事も作成したので見てくださると幸いです

https://qiita.com/shun198/items/e99a70147004814f15a6

## 1.atcoder-cli

元記事を表示

Python Gmailデータ取得

## 前提
以前作成した下記記事の環境からスタート

https://qiita.com/sh19982580/items/11a918da6d1a03ddf265

## GCP設定
クレデンシャルを作成
GCPのコンソール上で`APIとサービス` > `認証情報`
OAuth クライアント IDの作成
アプリケーションの種類:デスクトップ

→ JSONをダウンロードして、appと同じ階層に`client_id.json`として作成

## アクセス許可

gmail.py

import json
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage
import httplib2

SCOPES = ‘https://www.googleapis.com/auth/gmail.readonly’
CLIENT_SECRET_FILE = ‘client_id.json’

元記事を表示

OTHERカテゴリの最新記事