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

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

CSVもらったときに確認すること

“`python
df = pd.read_csv(Titanic)
“`
# 1. 行列数の確認
“`python
print(df.shape)
# (891, 12)
“`
# 2. データ型の確認
“`python
print(df.dtypes)
# PassengerId int64
# Survived int64
# Pclass int64
# Name object
# Sex object
# Age float64
# SibSp int64
# Parch int64
# Ticket object
# Fare float64
# Cabin object
# Embarked object
# dtype: object
“`
# 3. 欠損値の確認
“`python
print(df.isnull().sum())

元記事を表示

自分用メモ python dfs(ATC001-A)

# AtCoder Typical Contest 001 A問題の解答(python3.8.2)
https://atcoder.jp/contests/atc001/tasks/dfs_a

探索済みにしたところを壁と同じ記号にすることで二度と同じ場所を探索しなくなることを利用する.

“`python
import sys
sys.setrecursionlimit(10**9) #再帰関数の呼び出し上限変更
h,w = map(int,input().split())
c = [list(input()) for _ in range(h)]

#座標変更のためのlist
dX = [0,1,0,-1]
dY = [1,0,-1,0]

def dfs(x,y):
#壁に当たったり、探索範囲外になった場合はreturn
if not(0 <= x < h) or not(0 <= y < w) or c[x][y] == "#": return False if c[x][y] == "g": # ゴールを見つけた

元記事を表示

【備忘録】ノートブック(ipynbファイル)をpyファイルに変換する

### Jupyter lab上でpyファイルに変換
1.pyファイルにしたいノートブックを選択。
2.「File」から「Save and Export Notebook As」を選択し、その中の「Executable Script」を選択。
3.Downloadフォルダに保存される。

#### pyファイルの実行
1.ファイルのあるディレクトリに移動
2.`python ファイル名.py` を実行

元記事を表示

PyCharmのPYTHONPATHが上書きされてしまう

docker-compose環境をinterpreterに設定しています。
interpreterの設定で環境変数に `PYTHONPATH=/library_path` を指定しています。
PyCharmのGUIからunittestをrunするとPYTHONPATHで設定したパスのライブラリを見つけることができません、どうやらPYTHONPATHが上書きされている様子。

回避方法は2つある。
* site-packagesにもライブラリ入れておく→ちょっと2重管理になって気持ち悪い
* GUIでの実行を諦めてコマンドラインにてテスト実行→今回はこれを採用

lambda layerにpipライブラリ群を入れているためこのような状況になってます。
lambda layer便利だけど、このあたりのlambdaの実行環境とローカルの開発環境を差を吸収する部分でちょっと工夫が必要。
あまりスッキリした解決方法ではないのも悩ましい。

元記事を表示

【自作黒歴史クリーナー】Python2.7を使ってtwitterの30万件近いツイートを全てツイ消ししてみた

### 概要
黒歴史クリーナを利用して全ツイートを削除しようと思ったが30万件近くあるツイートを消すことはできないようなので、pythonを使って全ツイートを削除するツールを作成する。

### 環境

– macOS Big Sur 11.2.3
– Python: 2.7.16

### 事前準備

1. pythonのバージョンを確認
1. pipの確認と導入

macにインストールされているpythonのバージョンを確認する。
バージョンが古いが気にせずに進めていく。
“`bash
$ python –version
Python 2.7.16
“`

とりあえず使う予定のmoduleを入れていくが、pip自体を入れていなかった…
“`bash
$ pip install twitter
-bash: pip: command not found
“`

ということでpipの導入していく。

“`bash
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

$ python get-pip.py
ER

元記事を表示

SigfoxとRaspberry Piで、狩猟の罠通知装置を作成する。(その2)

# 続編
 前回の[狩猟の罠通知装置を作成する。(その1)](https://qiita.com/SAMisnotMydog/items/f186724821a3537d228e)の続きです。
RaspberryPi3ModelB(3B)での動作が確認できたところで力尽きましたので、その続きです。
今回はRaspberryPiZeroW(ZeroW)で本番環境を構築します。
# お品書き
0. GPIOからの電源供給
0. ZeroWへの移植
– シリアルコンソールの無効化
– UARTの設定
0. プログラムの自動起動化
– Unitファイルの記述
– pyファイルへの実行権限の付与
0. メール通知の設定
0. ひとまず完成
です。
## GPIOからの電源供給
 ラズパイへの電源供給ですが、普段はUSB端子にACアダプターを繋ぎますが、屋外にはコンセントがありません。
携帯電話用のバッテリーからの給電を想定していますが、USBコネクタがバッテリー側がType-A、ラズパイ側はMicro-BなのでUSBの変換ケーブルが必要となりました。
変換ケーブ

元記事を表示

python+opencvで画像処理の勉強8 パターン・図形・特徴の検出とマッチング

pythonとopencvを使って画像処理を勉強していきます。
今回もschikit-imageなども使用します。

説明が不十分であったりコードが見づらい部分もあると思いますがご了承ください。

前回
python+opencvで画像処理の勉強7 領域処理

https://qiita.com/tanaka_benkyo/items/0a607c01fcbe8e0a934f

### テンプレートマッチングによるパターンの検出
#### テンプレートマッチング

2つの画像が同じかどうかを判断するために、画像を重ね合わせて違いを調べるような処理を一般に**マッチング**と呼びます。
画像の視覚的特徴や画素値そのものをパターンと呼び、パターンの存在や位置を検出することをパターンマッチングと呼びます。
あらかじめ標準パターンを**テンプレート**として用意しておき、入力画像とのマッチングを行うことを**テンプレートマッチング**と呼びます。
テンプレート画像を画像全体に対して移動し、それぞれの位置で類似度を調べるとき、これを画像の左端から水平方向に、それを順次下の行に向かって探索する

元記事を表示

ffmpeg-pythonで動画にメタデータを追加する

pythonでffmpegを操作したい場合、ffmpeg-pythonを使うと思います。

`ffmpeg.output()`にはffmpegのオプションを渡すことができます。そこで、ffmpeg-pythonで動画にメタデータを追加するには、`ffmpeg.output()`に引数名`metadata`で`”key=value”`の文字列の形式でメタデータを渡します。

“`python
ffmpeg
.input(input_video_path)
.output(output_video_path, metadata=”title=New Title”)
.run()
“`

`ffmpeg.output()`は可変長引数を取るので、複数のメタデータを設定したい場合はその分だけ引数を設定します。
“`python
ffmpeg
.input(input_video_path)
.output(output_video_path, metadata=”title=New Title”, metadata=”title=New Artis

元記事を表示

PyCharm実行構成のインタプリター設定ミスによるエラー

自分のようなど素人しかハマらない箇所かもしれませんが、うっかり他の人がハマった時の助けになるよう、記録しておきます。

# 発生したエラー
136ページ、PyCharmを通じてrunserverを実行しサーバーを起動する操作でエラー発生。

“`
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named ‘psycopg2’
“`

`psycopg2`がないという。確かに101ページでインストールしたのは`psycopg2-binary`だった。`psycopg2`を別途インストールしないといけないんだろうか???

# 顛末
PyCharm上でrunserverを登録する際、`pythonインタープリター`が仮想環境内のものになっていなかったことが原因だった。このpythonには`psycopg2-binary`がインストールされていないためエラーとなっていた。
![775FBD9E-EDFB-4465-9B1A-98D587A0ADDB.jpeg](h

元記事を表示

MTCNNで顔検出したときに得られる情報

# はじめに
MTCNNを使って顔検出するときにどんな情報が得られるのか知りたくて、ラズパイでサンプルコードを実行してみました。
全ての情報は以下にあります。

https://github.com/ipazc/mtcnn

# 実行環境
|ライブラリ|バージョン |
|—|—|
|python |3.7.3|
|mtcnn |0.1.1 |
|opencv-python |4.5.3.56 |
|tensorflow | 1.14.0 |

# やったこと
example.pyの内容を少しいじって、以下のコードを実行しました。

“` python3
import cv2
from mtcnn import MTCNN

filename = “ivan.jpg”
output = “drow_” + filename

detector = MTCNN()

image = cv2.cvtColor(cv2.imread(filename), cv2.COLOR_BGR2RGB)
result = detector.detect_faces(image)

# R

元記事を表示

AtCoder ABC244 D – Swap Hats を3通りの方法で解く : 転置数, 乱択

https://atcoder.jp/contests/abc244/tasks/abc244_d
以下の3つの方法で解きます
– 全列挙で考察
– 転置数
– 乱択

# 1:全列挙で考察
`R,G,B`の並び替えは6つしかないです。以下の解説のように図を書いて考えます。
https://atcoder.jp/contests/abc244/editorial/3594
コードは割愛します。(解説に書いてある通りです。

長さがNだとするとハッシュをO(N)でとれるとして
– 時間計算量はO(N)
– 空間計算量はO(N!)と極めて大きな数になります

# 2:転置数
これも上記の解説に書いてある通りです。ある`1,2,3,4,…,n`という数列が昇順で並んでいた時、異なるi, jを選んでswapするとその転置数は奇数になります。もう一度、適当なswapをすると転置数は偶数になります。
今回の場合、操作の回数が十分なので、偶数回の移動で両者の転置数の偶奇が一致するものに絶対遷移できます。なので、偶奇を判定します。

転置数の実装は典型通りにBITで頑張ります。
– 時間計算量:

元記事を表示

Microsoftのデータサイエンス初心者向けコースDay3:割合を可視化

# はじめに

本記事では、Microsoftのデータサイエンス初心者向けコースDay3の”Visualizing Proportion”のPython関連について
Google Colaboratoryを利用して実際に動かしていく。エラーを特定して修正して動かすという体感を通してのみ学びがあると信じている。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409610/266682aa-ccc8-888a-2cfd-9cfd885b49c7.png)

# 対象読者

 Pythonとデータサイエンスに興味があって、英語が苦手な人(英語が得意な人は、[参考文献](#参考文献)を直接解いてね。

## きのこについて知る。

“`Python

import pandas as pd
import matplotlib.pyplot as plt
mushrooms = pd.read_csv(‘https://raw.githubusercontent.com/microsoft

元記事を表示

Raspberry Pi Picoを使ってパスコード自動入力機を作る【前編】

# はじめに (作ろうと思ったきっかけ)

大学のWebサービスのログインパスコードをブラウザで自動生成した結果、非常に長く覚えらづらいパスコードが出来てしまいました。(それ自体は良いこと。)

ところが、自分の端末で入力するときはブラウザによる自動入力があるのでいいものの、学内のパソコンでログインするとき、**いちいち手打ちする必要がありました**。
これがめちゃくちゃ面倒くさい。

てなわけで、**自作キーボードの要領でパスコード自動入力機を作れないか**構想していました。

# Raspberry Pi Pico を選んだ理由

最初は自作キーボードといえばの、**`Pro Micro`** を使おうかとも思いましたが、主にマイコンの値段が高いことなどを理由にやめました。
(それのためだけに使うのはコスパ的に見合わないという意味)

そこで目をつけたのが **`Raspberry Pi Pico`** (以下、`ラズパイピコ`) です。
ラズパイピコ自体は発売直後に手に入れていたのですが、使用用途が思いつかず、ずっと寝かしていました。

最近になり、ラズパイピコが**HIDデバイ

元記事を表示

【センリのラボノート①】自動生成した画像で自動返信【PythonでTwitterを自動化したよ】

#  ステップ1「はじめに」
 センリの道も一歩から!
 みんなおはよう~、水彩センリだよ

 今日からなんと、センリのラボノートを公開しちゃうよ
 頑張って書いたから、しっかり読んでね!

 この記事は
  ステップ1「はじめに」…………開発環境や概略
  ステップ2「何事も準備が大事!」…………使用する素材、ファイルの準備
  ステップ3「いざコーディング」…………スクリプト
  ステップ4「細かなとこにも手が届く~」…………スクリプトの説明
  ステップ5「未来のために進歩あるのみ!」…………改善点の洗い出し

 っていう進行をするから、よろしくね!!
###  第一回はこれ!
 今日紹介するのは、センリが普段送ってる「画像あいさつ」だよ!

 詳細はこんな感じ!

:::note
 画像提供に協力してくれたのは[柴犬のフラッフィーさん](https://twitter.com/Fluffy_Vtube

元記事を表示

ラズパイにサーバー環境を構築し、metabaseでグラフを見る。

ラズパイにサーバーを構築し、metabaseでグラフを見る方法についてまとめました。

# 環境
環境は、下記の通りになります。
MariaDB version  10.3.31-MariaDB-0+deb10u1
Python version: 3.7.3
OS: Raspbian 10.0

## 1.1 apacheのインストール
apacheをインストールします。
“`
$ sudo apt-get update
$ sudo apt-get install apache2
“`
## 1.2 apacheの確認
下記コマンドを実行し、inetに書かれているIPアドレスを確認します。
“`
$ ifconfig wlan0
“`
Chromeなどのブラウザからhttp://[、inetに書かれているIPアドレス]を入力してください。
成功すると、このようなwebページが出てきます。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/176158/47b20690-3fc

元記事を表示

ABC001メモ

# ABC001 メモ
## [A – 積雪深差](https://atcoder.jp/contests/abc001/tasks/abc001_1)

問題文通り、答えは$H_1-H_2$。

“`python:001A.py
H_1 = int(input())
H_2 = int(input())

ans = H_1 – H_2
print(ans)
“`

## [B – 視程の通報](https://atcoder.jp/contests/abc001/tasks/abc001_2)

入力は単位がメートル(m)で与えられるが、判定条件は単位がkmで与えられているため、少々複雑になる。
今回は判定条件をmに統一して計算した。

“`python:001B.py
m = int(input())

if m < 100: VV = '00' elif m <= 5000: if len(str(m)) == 4: VV = str(m)[:2] else: VV = '0' + str(m)[0] e

元記事を表示

EC2でNGINX Unitを使う

# NGINX Unitについて

1. PythonをNGINXで使用したいときに中継サーバーとして使用
1. Python,PHP,Go,Perl,Ruby,Node.js,Javaなどに対応
1. 同じ言語の複数バージョンを同時に運用可能
1. サーバー停止せずに設定変更可能
1. 公式ドキュメント
https://unit.nginx.org/installation/

# インストール
“`bash
$ sudo vi /etc/yum.repos.d/unit.repo
[unit]
name=unit repo
baseurl=https://packages.nginx.org/unit/amzn2/$releasever/$basearch/
gpgcheck=0
enabled=1
“`

“`
$ sudo yum install unit
$ sudo yum install unit-devel unit-go unit-jsc8 unit-perl \
unit-php unit-python27 unit-python37
“`

元記事を表示

pythonによるSARIMAモデルの実装

# 初めに
本記事は時系列解析手法の一つであるSARIMAモデルをpythonのstatsmodelsで実装するまでの流れをまとめたものになります。
学んだことをアウトプットすることを目的として作成しました。
# 目次
* 1. 定常性とは
* 2. ホワイトノイズ
* 3. SARIMAモデルとは
* 1.ARモデル
* 2.MAモデル
* 3.ARMAモデル
* 4.ARIMAモデル
* 5. SARIMAモデル
* 4. SARIMAモデルの実装

# 1. 定常性とは
時系列解析を語る上で欠かせないものの一つに定常性があります。定常性とは、ある時系列データの値$Y$が、どの時点$t$においても平均、分散、自己共分散が一定であるという性質のことです。これは弱定常性とも言います。
簡単にいうと、各時点での値がある値を中心にばらついているということです。

# 2.ホワイトノイズ
ホワイトノイズとは、平均が0、全ての時点で自己共分散が0である定常性を持った系列のことをいいます。
時系列分析では、モデルが説明できなかった誤差項がホワイ

元記事を表示

Python 複数スレッドから同時アクセスされたときに前回のアクセス時間よりも2秒以上経過していなければ待機して、経過後にアクセス時間を記録して、この値をreturnする処理

以下は、複数スレッドから同時アクセスされたときに前回のアクセス時間よりも2秒以上経過していなければ待機して、経過後にアクセス時間を記録して、この値をreturnする処理

“`python
import time
import threading

lock = threading.Lock()

access_time = time.time()

def task():
while True:
print(concurrent_access())
pass

def concurrent_access():
“””複数スレッドに同時にアクセスされるかもしれない処理”””
# 前回のアクセス時間より2秒以上経過して “いる”
# access_timeを現在時刻にしてから
# access_timeをreturn
# 前回のアクセス時間より2秒以上経過して ‘いない”
# 2秒経過するまで待機
# 2病経過したら上と同じ処理
global access_ti

元記事を表示

「初カキコ…ども…」を感情分析してみた。

# 前置き
2chで有名なコピペの「初カキコ…ども…」がありますね。
今週のオモコロの記事[【第1回】初カキコ…ども…選手権](https://omocoro.jp/kiji/332002/)の影響で初カキコが再び話題になっています。
このコピペを感情分析したら、ポジティブ・ネガティブになるか分析してみました。

初カキコの全文は以下になります。
“`
初カキコ…ども…

俺みたいな中3でグロ見てる腐れ野郎、他に、いますかっていねーか、はは

今日のクラスの会話
あの流行りの曲かっこいい とか あの服ほしい とか
ま、それが普通ですわな

かたや俺は電子の砂漠で死体を見て、呟くんすわ
it’a true wolrd.狂ってる?それ、誉め言葉ね。

好きな音楽 eminem
尊敬する人間 アドルフ・ヒトラー(虐殺行為はNO)

なんつってる間に4時っすよ(笑) あ~あ、義務教育の辛いとこね、これ
“`

# 実行結果
– **感情値が`-0.488227`のため、ネガティブという結果になりました。**

– ポジティブ・ネガティブの単語に色付け
![image.png](https:

元記事を表示

OTHERカテゴリの最新記事