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

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

初心者挑戦 まずirisでデータ分類やってみた

***
![見出し1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2400825/3a60b7d7-8444-59b7-3687-1a111f5ed6d2.png)

#はじめに

今回成果物を提出にするにあたりscikit-learnライブラリにあるモデルの評価用データセットIrisを使いロジスティック回帰を用いて分類してみます。

##実行環境
・Python ver3
・Google Colaboratory

##使用するデータセットIrisについて
irisデータとは150個のアヤメ(花の一種)のサンプルの「がく片の長さ」「がく片の幅」「花びらの長さ」「花びらの幅」の4つの特徴量(単位はcm)と、3種の品種(0~2)が格納されています。今回は、データの可視化のために特徴量を「がくの長さ」「花びらの長さ」の2つを使用します。

実際にデータをダウンロードし一部を表示してみます。

“`
from sklearn import datasets
iris = datasets.load_iri

元記事を表示

S3バケット内の情報取得スクリプト

# 経緯
S3バケット内のオブジェクト(ファイル)について、名前・最終更新日・サイズを取得してCSVファイルに出力したい。
Pythonでスクリプトを書いていく。不慣れなため無駄が多いかと思うが、ご容赦を。
参考:[AWS Lambda Python S3でフォルダ以下のファイル一覧を取得する](https://qiita.com/koji4104/items/15ac578e561f53a0dadc)

# スクリプト作成
以下の構成において、xxx配下のファイル一覧(名前、最終更新日、サイズ)を取得する。
また、オブジェクトは名前(ooooo)で絞って出力する。
**s3://aaa.backup/xxx/ooooo**

aaa.backup:バケット
xxx:プリフィックス
ooooo**:オブジェクト

出力するCSVの中身は以下のようにしたい。
**見出し: Name,Data,Size**
**データ: oooooabcd,[JST]2022/01/10 12:05:10,20.5 KB**

# オブジェクトキーの出力
参考:[Boto 3 で Amazon S3 上の

元記事を表示

Pythonで指定の都道府県のコロナ感染者数をチャート出力する。

###はじめに

オミクロン株が流行ってきたのでコロナの感染状況を
参考にするためにチャート出力してみました。

###環境

Windows 11
python-3.7.7-embed-amd64 いろいろ遊んでしまうので組み込みのpythonを使って活動内容を制限しています。
データはNHKのコロナ感染者数の都道府県別データを使用しています。

###やり方
参考にしたpythonプログラムを修正します。
組み込みのPythonでgui(画面)のチャート出力ができないので
画像に保存してpaintで確認します。
プログラムの最後にplt.savefigを実行して画像ファイルに保存します。

###プログラムコード

“`Python
#https://tomokichi.blog/%E3%80%90python%E3%80%91csv%E3%81%8B%E3%82%89%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B/
import pandas as pd
import matplo

元記事を表示

[AWS] OpenSearch Service(Elasticsearch)で商品検索APIを作る

# 1.はじめに
みなさんOpenSearch(Elasticsearch)使ってますか?
OpenSearchはオープンソースの検索エンジンで、全文検索や商品検索、さらにはデータ分析まで、検索用途なら何でも幅広く活用することができます。今回はそのOpenSearchを使って、ECサイトで使うような商品検索APIを作る方法を紹介してみたいと思います。

# 2.OpenSearchとElasticsearchの関係
OpenSearchという言葉自体を聞き慣れない人もいるかもですが、これはElasticsearch(ES)とほぼ同じものです。
ESは元々Apache License 2.0に準拠したオープンソースソフトウェア(OSS)で、AWSも以前はこのOSS版のESをサービスとして提供していました。
しかし2021年1月、開発元のElasitic社はESのライセンスを変更し、OSSではない独自ライセンスにしてしまいました。これによりAWSはElasticsearchをサービスとして提供できなくなるため、最終のOSSバージョンであるES7.10をフォークしてOpenSearchとい

元記事を表示

webカメラを利用した感情分析をしてみた

どうも、学生エンジニアのirohasです。

今回はOpenCVとkerasを用いて、感情分析をしてみました。
今回のは共有というよりか、備忘録ならびに自己満記事ですので、説明聞きたい!という方はブラウザバック推奨です…

手順としては、モデルを作成→作成したモデルを使ってディープラーニング→webカメラで実行という形です。

ディープラーニングにおけるモデル作成などの説明はインターネット上や書籍などで詳しく解説されているものが多いのでこの記事では割愛させていただきます。

この記事ではディレクトリ構成と、起動する際のコードを貼り付けようと思います。

“`
C:.
├─detector
├─models
├─__pycache__
├─cnn.py
├─emotion_detector.py
├─load.py
├─make_model.py
└─emotion_detector.py
“`

ディレクトリ構成はこんな感じです。

続いて、動かすコードの中身です。

“`python:emotion_detector.py
from keras.preprocessing.

元記事を表示

PythonプログラムからOpenLDAPに接続&ユーザ情報を取得する

# はじめに

これまでJupyterHub/JupyterLabを利用した分析環境をVirtualBoxもしくはWSL2で整備してきたが、共通して認証にはOpenLDAPを使ってきた。

自宅PCでは自ずと筆者のみの利用ではあるが、会社(組織)で利用するならばユーザ管理をする必要がある。
どれだけのユーザがいて、いつパスワード変更をしたか、etc.

というわけで、OpenLDAPに登録したユーザの情報を取得するプログラムを書いてみようと思う。
なぜプログラムか?かというと、OpenLDAP操作用のWebUIにはFusionDirectoryやphpLDAPadminがあるものの、全ユーザの情報を一覧で取得するのはちょっと面倒と思った次第でして。

そこで、本稿では、**「PythonプログラムからOpenLDAPに接続&ユーザ情報を取得する方法」**を順に紹介してゆく。

## 本稿で紹介すること

– OpenLDAPの起動
– PythonプログラムでOpenLDAPへの接続
– PythonプログラムでOpenLDAPからユーザ情報の取得

## 本稿で紹介しないこと

元記事を表示

Python学習(入出力)(初心者)

# はじめに
この記事は、約1年主にc言語を学んできた私がPythonに少しでも触れてみようとアウトプット用に書いたものです。ほとんどの方には参考にならないとは思います。間違い等あればご指摘いただけると嬉しいです。

# Pythonとは
まず、Pythonとは
>Pythonとは1991年にオランダ人のグイド・ヴァンロッサムというプログラマーによって開発され、オープンソースで運営されているプログラミング言語。Pythonのプログラミング言語としての主な特徴は、**少ないコードで簡潔にプログラムを書けること、専門的なライブラリが豊富にあること**などが挙げられる。
https://www.internetacademy.jp/it/programming/programming-basic/what-is-python.html
インターネット・アカデミー IT業界まるわかりガイド より

Pythonはコードを書きやすく、そして読みやすくするために生まれた言語らしく、だれがコードを書いても似たようなコードになるそうです。

#入出力
hello worldと入力して出力する。

`

元記事を表示

【Python3】python-ulidで一意なIDを作成する

## 環境

– Ubuntu20.04
– Python3.8.10
– python-ulid1.0.3

## 背景

### 前提事項

オブジェクト指向においてエンティティは「同一性によって識別されるオブジェクト」とされます。つまり、エンティティは一意なIDを持つ必要があります。(一意性が担保できればIDでなくても良いですが)

### 問題意識

今までIDの採番はRDBに任せていました。具体的にはidをautoincrementにしてinsertするときに自動採番するという方式です。

この方法には以下2つの問題があります。

1. DBにinsertするまでエンティティがIDを持たない。(つまり、エンティティの定義を満たしていない状況が生まれる)
2. IDというドメイン層の関心事がインフラ層(DB)の責務になっている。

この問題を解決するには次の要件を満たす手段が必要です。

1. ドメイン層で実現する
1. オブジェクト生成時にIDがセットされる
1. 一意性が担保されている
1. 一意である(DBの主キーとして利用するため)
1. 順序が担保されている(ソー

元記事を表示

PythonでSlack の特定のチャンネルの全メッセージを取得するまで

# アプリ作成
[ここ](https://api.slack.com/apps?new_app=1&ref=bolt_start_hub)からCreate an app > From scratch を選択し、アプリ名とslackのどのワークスペースを使うか選択する。

## スコープ

App Manifestに

“`
oauth_config:
scopes:
bot:
– channels:history
– groups:history
– im:history
– mpim:history
“`
を追加して
以下に変える

“`
_metadata:
major_version: 1
minor_version: 1
display_information:
name: APP_NAME
features:
bot_user:
display_name: APP_NAME
always_online: false
oauth_config:
scopes:
bo

元記事を表示

# PySparkを使おう

## 0.PySparkとは?

Apache Sparkは分散処理などを活用して、大容量データを分析するためのライブラリです。それをPythonのインターフェースから利用できるようにしたのがPySparkです。

さまざまなデータソースに適応でき、柔軟なデータ処理ができますので、まさにデータ処理を統一する際などに最適です。

|用語|内容|
|:–|:–|
|Apache Spark|巨大なデータを高速に処理できる|
|PySpark|Apache SparkをPythonから使うことができるようにしたライブラリ|

以下では主にWindows環境でのPySparkの利用をしてみます。

## 1.Apache Sparkのインストール

### 1.1. Apache Sparkのダウンロード

まずは[ご本家](https://spark.apache.org/downloads.html)からApache Sparkをインストールします。バージョンを選択して、tar.gzをダウンロードします。tar.gzファイルを解凍し手、適当な場所に置いておきます。

### 1.2.

元記事を表示

Pythonで文字列を日付に変換

## 文字列から日付(datetime)に変換
“`python
from datetime import datetime

str = ‘20210808134937’
date = datetime.strptime(str, ‘%Y%m%d%H%M%S’)

print(date) # 2021-08-08 13:49:37
print(type(date)) #
“`

## 文字列から日付(date)に変換
“`python
import datetime

str = ‘20210808134937’
date = datetime.datetime.strptime(str, ‘%Y%m%d%H%M%S’)
tdate = datetime.date(date.year, date.month, date.day)

print(tdate) # 2021-08-08
print(type(tdate)) #
“`

## 日付から文字列に変換
“`pyth

元記事を表示

文章からの気象解析〜WordCloudで遊ぶ〜

# 0.はじめに

テレビの天気予報では現在の気象状況、明日や明後日の気象の予測とそれに伴う現象に対する注意事項を、気象キャスターが要領よく簡潔に説明してくれます。

気象庁からも気象予報の解説、過去の気象図に関する概説といったように文章で気象状況を簡潔にまとめた資料が定期的に発表されています。

このような文章にはどのような特徴があるのでしょうか?
今回は気象予報解析に関する文章の傾向をWordCloudというアプリケーションを用いて可視化してみます。

可視化すると、このような絵が得られます。

![2020textcld.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411112/380645f0-bb71-a128-9261-16d7ecbf93ef.png)

頻出する単語が大きな文字で表示されます。
これによってある期間の気象状況の傾向を可視化することができるのではないでしょうか。

##### 環境

Mac mini(2018)
CPU:3.2GHz 6core Intel Cor

元記事を表示

Elastic Beanstalkの環境変数を一覧で表示する

# 経緯
[クラスメソッドさんの記事](https://dev.classmethod.jp/articles/export-csv-for-eb-environment-properties/)のコマンドがうまく通らなくて、jqが良く分からんから作った。

# コード
“`python
import boto3
from pprint import pprint
import sys
args = sys.args
session = boto3.Session(profile_name=args[1])
eb = session.client(‘elasticbeanstalk’)
hoge = eb.describe_environments()[“Environments”]
ebname = [i[‘EnvironmentName’] for i in hoge]
apname = [i[‘ApplicationName’] for i in hoge]
for i, j in zip(ebname, apname):
ebconf = eb.describe_co

元記事を表示

Python WebフレームワークPlotly Dashで資産管理アプリを作成

## Dashとは
Dashは、データ可視化インターフェースを構築するためのオープンソースフレームワークです。
2017年にPythonのライブラリとしてリリースされ、RやJuliaの実装を含むまでに成長しました。
Flask、React.js、Plotly.jsの3つの技術を使って作成されています。
2020年にリリースされたStreamlitの人気がとても高くなっていますが、2018年からとても高い人気を誇ってます。
![graph.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2465378/b688b492-28fb-511c-2e5d-8373f2eddb84.png)

## ライブラリをインストール
“`
pip install pandas
pip install dash
“`

## タイトルを作成
“`
# -*- coding: utf-8 -*-
import dash
import dash_html_components as html

app = dash.Das

元記事を表示

PythonによるFFT

# はじめに

この記事では,Pythonを使ったフーリエ変換をまとめました.書籍を使ってフーリエ変換を学習した後に,**プログラムに実装しようとするとハマるところ**が(個人的に)ありました.具体的には,以下の点を重点的にまとめています.

– サンプリング周波数
– 離散フーリエ変換のサンプルポイント数
– 配列のインデックスと周波数の関係
– 配列の構造

# コンピュータで扱うフーリエ変換

コンピュータで数値を扱うには飛び飛びの離散値を用いる必要があります.以下の表に示すように,フーリエ変換にも離散型のものがあります.このうち,離散時間フーリエ変換はコンピュータで取り扱う際に,次の問題があります [資料1].

– 変換対象の時間信号が無限長となる
– 周波数領域では連続値となる

上記の問題に対して利用されるのが,**離散フーリエ変換**です.これは,1)時間領域と周波数領域ともに有限の長さで,2)離散値なのでコンピュータで扱いやすいですね.この記事では,**Scipyのfftパッケージ**を用いて,離散フーリエ変換を行うことにします.

|

元記事を表示

motpyやーる(Python3.6、Windows10)

# はじめに
motpyやっていくー

# 開発環境
– Windows 10 PC
– Python 3.6

# 実装

1.motpyをクローン

https://github.com/wmuron/motpy

2.ライブラリをインストール

~~~
pip install motpy
pip install -r requirements_dev.txt
~~~

3.実行

~~~shell
python examples/detect_and_track_in_video.py –video_path=./assets/video.mp4 –detect_labels=[‘car’,’truck’] –tracker_min_iou=0.15 –device=cuda –track_text_verbose=1
~~~

元記事を表示

日経平均株価の予想

#日経平均株価を予想するためにすること
 まず始めに日経平均株価をPythonで予想して、投資に役立てたいという熱意がありました。
 そのためにPPDACサイクル(Problem->Plan->Data->Analysis->Conclusion)を回すことを考えてみました。

##今回のPPDACサイクル
 Problem:日経平均株価の動きを予想したい!
 Plan:日経平均株価、出来高、空売り比率から予想する(ことができるのでは?という仮定)
 Data:日経平均株価と出来高は、pandas-datareaderから取得する。空売り比率は、下記サイトからPDFファイルを集め、Pythonでcsv出力する。
JPXサイト
https://www.jpx.co.jp/markets/statistics-equities/short-selling/index.html
 Analysis:それぞれの相関関係を調べる。(前編では扱わないです。というか後編があるかも分からないです。)
 Conclusion:未定。。。相関関係があれば良いのだけど。

##Data取得
###(1)pa

元記事を表示

【Django REST Framework】外部APIのデータをお気に入りに登録したい

外部APIのデータをお気に入りしていく機能を実装したいと思います。
一応実装できたかなというくらいで、もっと良い書き方があるかもしれませんが、そこは勉強中なのでご容赦ください。。。

前回書いた記事同様、Finaicial Modeling Prepを使用していきます。
[【Django REST Framework】外部APIをAPIViewで取得する](https://qiita.com/kotarott/items/ed644b5d3094ba5695be)

##1.モデルの作成
“`Python:models.py
from django.conf import settings

class FavoStock(TimeStampModel):
profile = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name=’favorites’)
symbol = models.CharField(max_length=20, blank=False)
isin = mode

元記事を表示

【競プロ典型90問】006の解説(python)

## 概要
[競プロ典型90問](https://atcoder.jp/contests/typical90)の解説記事です。
解説の画像を見ても分からない(~~理解力が足りない~~)ことが多々あったので、後で解き直した際に確認できるようまとめました。

※順次、全ての問題の解説記事を挙げていく予定です。
※★6以上の問題は難易度的に後回しにしているため、投稿時期が遅くなる可能性があります。(~~代わりに丁寧に解説してくれる方いたらぜひお願いします~~)

## [問題006-Smallest Subsequence](https://atcoder.jp/contests/typical90/tasks/typical90_f)

### 問題
英小文字のみからなる、長さ N の文字列 S が与えられます。
長さが K である S の部分列のうち、辞書順で最小であるものを出力してください。

### 解き方
まず初めに、部分列を全列挙してから辞書順最小を得る方法が考えられますが、この考えではn文字からk文字を選んだ時の取り出し方 $nCk$ の全列挙になるため、k = 1, n 以外

元記事を表示

Deep Learning に関する私の記事まとめ

# Deep Learningに関する記事をまとめています。
## 目的
今後記事を掲載していく中で自分ですぐに見返せることを目的として作成します。

#資格
###AI実装検定A級

###G検定

###E検定
ラビットチャレンジレポート

+ [ラビットチャレンジ【E資格】 応用数学](https://qiita.com/seiji1997/items/9cbf4c96d06d924857c7)

+ [ラビットチャレンジ【E資格】 機械学習](https://qiita.com/seiji1997/items/3e1f5475319df4996b16)

+ [ラビットチャレンジ【E資格】 深層学習day1](https://qiita.com/seiji1997/items/f74323109b4107dc2334)

+ [ラビットチャレンジ【E資格】 深層学習day2](https://qiita.com/seiji1997/items/298e29bd7bdbaf4f9ba6)

+ [ラビットチャレンジ【E資格】 深層学習day3](https://qiita.com

元記事を表示

OTHERカテゴリの最新記事