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

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

IBM Security Verify API + Pythonでユーザー情報一覧を取得する

# はじめに

以前の記事で、/v2.0/Usersで一度に取得できるユーザー情報の上限が2500件であるとご紹介しました。

[IBM Security Verify API ユーザー検索(/v2.0/Users)利用上の注意点について](https://qiita.com/fitz/items/5b29e993747ce0dcdd03)

2500件を超えるユーザーを取得する方法として、javascript / nodejsを使った手法の情報がありました。

**javascript / nodejsを使った方法**
https://docs.verify.ibm.com/verify/docs/looking-up-users

こちらの概念を参考にPythonでユーザー一覧を取得してみました。

#1.出力結果イメージ

約10000ユーザー登録してエクスポートの確認を行いました。

1列目にユーザー名、2列目にユーザーID(Verify内で採番されているユニーク値)をエクスポートしました。
![userlist-python1.png](https://qiita-image

元記事を表示

【100 numpy exercises】でnumpy力を鍛える!(11〜20問目)

こんにちは!

前回はnumpy力を鍛えるために1~10問やっていきました。

前回の記事はこちら

https://qiita.com/fav/items/356b885a6ea383801b32

それでは前回に引き続き[100 numpy exercises](https://github.com/rougier/numpy-100/)を使ってnumpyの学習をしていきたいと思います!

今回は11~20問をやっていきます。

###11. Create a 3×3 identity matrix (★☆☆)
#####11. 3×3の単位行列を作る

“`ruby:100_numpy_exercises.ipynb(11)
Z = np.eye(3)
print(Z)
“`

***np.eye***は単位行列を生成する関数です。今回は括弧内のパラメータに3を指定することによって*3×3*の単位行列を作りました他にも***np.identity***でも単位行列は作れたりします。***np.eye***との違いはほとんどありません。

実行結果は以下の通りです。

“`r

元記事を表示

データサイエンス100本ノック(構造化データ加工編)をやってみた part10(P-089~P-100)

 この記事はデータサイエンスを勉強しながら、データサイエンス協会が提供する__データサイエンス100本ノック(構造化データ加工編)__を解く過程を自分用にまとめたものです。

| チャプター | リンク | チャプター | リンク |
|:——:|:—-:|:——:|:—:|
| P-001~P-016 | [part1](https://qiita.com/pyon/items/c208e585e0cdfabc58bd) | P-052~P-062 | [part6](https://qiita.com/pyon/items/5c5926241b8e6da978f3) |
| P-017~P-022 | [part2](https://qiita.com/pyon/items/73bf9e8fe75f807aeea8) | P-063~P-068 | [part7](https://qiita.com/pyon/items/ac8c7fb9110dbba061f5) |
| P-023~P-031 | [part3](https://qiita.com/pyo

元記事を表示

夏休み自由研究のためのプログラミング講座

# イントロダクション
この投稿は「夏休みが残り10日になっても、まだ自由研究のテーマが決まらなくてどうしよう」と悩んでいる君のために、プログラミングが大好きな大人が趣味の一環で書いたものだ。
今の時点では、小学生なら4年生以上、中学生や高校生でも楽しみながらプログラミングを学べる内容にしたいと思っている。でも、コンピュータの基本的な扱い方に関しては説明を省略するから、その辺りについて困った時は、君の周りにいる「いつもキーボードとマウスを弄って暇潰しをしている人」を探して聞いてみよう。

この講座の内容に疑問や質問、困ってしまったことなどがあれば[市原こどもプログラミング教室のツイッター](https://twitter.com/startyourcode)まで気軽に報告してほしい。返信できるかどうかは約束できないけど。

###この講座で何を学べるのか?
プログラミングのことを知っていて「どんな種類があるのか?、どうやって始めるのか?、どんなふうに書くのか?、どうやって書いたものを実行するのか?何が面白いのか?算数や数学が嫌いな自分にも楽しめるのか?」という疑問に答えられるなら、この

元記事を表示

【Python】globで取得したファイルリストの並び替え

# globで取得したファイルリストの並び替え

glob.glob()でファイルを読み込んだ際, ファイル名の順番に困ったことはないでしょうか?

そんなときは,「natsort」というライブラリを使うと便利です.

“`
hoge/
 └ data/
   ├ 1-a_n.wav
   ├ 2-a_n.wav
   ├ 3-a_n.wav
├ ...
├ 2575-a_n.wav
└ 2576-a_n.wav
“`

まず, pipでインストール

“`
pip install natsort
pip install glob
“`

####1. ひとまず, globでファイルリストを取得

“`py
import glob
filepath = ‘data/’
filelist = glob.glob(filepath + ‘*.wav’) # jpg, png, csvなどお好みで
filelist
“`

↓のように, ファイルの順番がでたらめ

“`
[‘data/1034-a_n.wav’,
‘data/43-a_n.wav’,
‘da

元記事を表示

AWSの API Gatewayを使ってLambdaを実行する。

## はじめに
先日、S3へのファイルアップロードをトリガーに、別のS3にそのファイルをコピーする簡単なLambdaを作成してみたが、今度は`API Geteway`経由でLambdaを実行する方法を試してみたので、その時の内容をメモとして残しておく。
 ※ 先日の記事はこちら。[**【AWSのLambdaを使ってS3間のファイルコピーを試してみた。】**](https://qiita.com/smiler5617/items/66eb929bd6bac7737615)

## 今回やってみたい事
####片方のS3バケットの特定のプレフィックス中身を全て、もう片方のバケットに移動するLabmda①、および移動後のバケット中身(csvレコード)を取り出すLambda②を作成し、それらのLambdaをAPI Gateway経由で実行できる様にする。
![Qiita-no050_img01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654767/6c60516c-c57a-5f6f-b043-01886

元記事を表示

Pythonでテキストファイルの途中に追記

テキストファイルの2行目に「あいうえお」を追記します。

追記前

“`ruby:text.txt
ヘッダー
かきくけこ
さしすせそ
たちつてと
なにぬねの
はひふへほ
まみむめも
やゆよ
らりるれろ
わをん
“`

実装方法

全行取得

途中に挿入

既存のファイルデータを全削除

ファイルの先頭にストリーム位置を移動

書き込み

という流れにします。

“`python

# ファイルの2行目に追記。
import os

with open(‘text.txt’, ‘r+’, encoding=’utf-8′) as file:
# 全行取得
line = file.readlines()
# 途中に挿入
line.insert(1, ‘あいうえお\n’)
# ファイルデータ全削除
file.truncate(0)
# 先頭にストリームを移動
file.seek(0, os.SEEK_SET)
# 書き込み
file.writelines(line)
“`

追記後

“`rub

元記事を表示

Pythonによるマルコフ連鎖モンテカルロシミュレーション

##Pythonによるマルコフ連鎖モンテカルロシミュレーション
 モデル関数のパラメータの最適解の推定方法は最小二乗法や最尤法などあるが、今回はマルコフ連鎖モンテカルロ法(MCMC : Markov chain Monte Carlo methods)によるサンプリング手法を用いて、サンプルとモデルの差により得られる尤度関数を最適化することにより、局所最適解を探索する回帰分析の手法を紹介する。
##MCMCとは
 MCMCは多次元の確率密度関数を事前分布として持つ標準集団に、詳細つり合い条件が成り立つことを仮定してマルコフ連鎖を繰り返すことで、サンプリングを行う手法である。

 ベイズ統計の基本概念として、確率は古典統計学のような頻度やモデルに基づく固定値ではなく、新しい情報が収集されると変化する動的な確率であるとしている。式にすると以下のようになる。

“`math
P(x_{t-1} |x_t ) = \frac{P(x_t|x_{t-1})Q(x_{t-1})}{Z} \\
Z= \sum_x P(x_t|x_{t-1})Q(x_{t-1})
“`

 これはベイズの定理とい

元記事を表示

[Python]XMLファイルから特定要素を抽出する方法 メモ

* 特定のフォルダに配置されたXMLファイルの一覧から特定要素を抽出する方法についてメモする。

## テストデータ

* [こちら](https://docs.python.org/ja/3.6/library/xml.etree.elementtree.html)のXMLをテストデータとして利用させていただく。

* `test1.xml`

“`xml



1
2008
141100



元記事を表示

Local Outlier Factor (LOF) の算出方法、スクラッチでの実装

# Local Outlier Factor (LOF)の概要
異常検知に用いられる手法の一つです。
各点それぞれのk 個の近傍点との距離から局所密度を推定し、自身と近傍群の局所密度を比較したとき、自身の局所密度が極めて低い場合は異常値と判断するというのが基本的なアイディアです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989042/dee3c545-9904-4c99-4e0a-1ae2590811b4.png)

詳しくは下記のページも参考にしましょう。
[ Local Outlier Factor (LOF) による外れ値検知についてまとめた]
(https://hktech.hatenablog.com/entry/2018/09/04/002034)
[[デモのプログラムあり] Local Outlier Factor (LOF) によるデータ密度の推定・外れサンプル(外れ値)の検出・異常検出]
(https://datachemeng.com/local_outli

元記事を表示

リスト内包表記についての覚え

**目次から飛んで途中から見る場合、対応する原型は直上にあるものを確認されたい。**

#環境
・macOS High Sierra 10.13.6
・Python 3.8
・エディタ Atom
 ・AtomはデフォルトでPythonの実行をサポートしていないので、必要なパッケージをダウンロードする必要がある

#原型1
まずは、実際にリスト内包表記を試行する前の形を確認しておく。Python公式ドキュメントでは、squareになっているので本当にちょっとだけ書き換えて、簡単のために0~9までの整数の立方数を格納するcubesというリストを考える。
解説は不要のことと思う。

“`.py
cubes = []
for x in range(10):
cubes.append(x**3)
print(cubes)
“`

“`実行結果.
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
“`

##リスト内包表記での記述
実行結果は省略する。
“`.py
cubes = [x**3 for x in range(10)]
print(

元記事を表示

flask+ajaxでスライダーの値を読み取り動的になんやかんやする

# やりたいこと
– flaskを使ってウェブアプリケーションを作成したい
– スライダー(``)の値を読み取り、値に応じて要素をなんやかんや動的に変更したい
– その際ページ更新はしたくない(ajax通信で解決したい)

調べれば似たような記事はあるにはあるものの、勉強も兼ねて記事にすることにした。

# やったこと
flask + jQuery + ajaxで解決した。
今回**なんやかんや**に関しては、`cv2.addWeighted()`による画像合成を行うこととした。

今回のソースはすべて下記のリポジトリで公開しています。
https://github.com/ikentoh/flask-ajax

![blend.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529606/89be6209-45bb-29a8-1509-62480665c84d.gif)

## スライダーを定義する
画像合成のアルファ値の単位はパーセンテージなので、0~100

元記事を表示

Databricksにてローカル環境での開発を考慮した自作モジュールを取り込む方法

## 概要
Databricksにてローカル環境での開発を考慮した自作モジュールを取り込む方法を共有します。
あまりよい方法ではないので、よりよい方法をご存知の方はご教授ください。

Databricksでは自作モジュールを取り込む際に、%runを利用する必要があり、importを利用するとエラーとなるという課題があります。
また、ローカル開発時には、Jupyter等のノートブック型の開発ツールを利用しない場合には、%runがエラーになります。

上記の解決策となる下記の方法を紹介します。
エクスポートする手順を紹介してますが、Databricks Repos機能を用いることでGitでPythonコードを取得することも可能です。

– tryによりDatabricks上で開発時にエラーとしない
– databricksからエクスポートすることで%runの箇所をコメントアウト

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

https://manabian-.github.io/databricks_tecks_for_qiita/#import_libarary_

元記事を表示

AWS:Rekognitionとpythonで顔の分析を行ってみる

#AWSのサービスを色々使って、理解を深める。
AWSの勉強をしていたら予想以上に色々できることに驚いた。
AWSを自由自在に使えたら便利なのでは?と思い付き、やってみた。
###参考
①_Qiita記事(コードの内容)
https://qiita.com/banquet_kuma/items/560787299b83fb924ff7
②_AWS_Rekognition公式入門ガイド
https://aws.amazon.com/jp/rekognition/resources/
③_AWS_Rekognition detect_facesオペレーション
https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/faces-detect-images.html

###内容
1. IAMユーザーの作成

2. AWS CLI と AWS SDK をインストールして設定
  ※基本は参考③を見ながら実行しました。
  ※アクセスキーのデータは参考①のpythonのライブラリ「configparser」を使用

3. コードの記述及び

元記事を表示

PyQtのドラッグ&ドロップの使い方

[この前の記事](https://qiita.com/phyblas/items/d56003904c83938823f2)でPyQtの基本的な使い方について書きましたが、まだドラッグ&ドロップについて触れていません。これはかなり複雑でわかりにくいところが多いことだからです。

しかし使ってみたら色々面白いと思います。なのでここでは自分がドラッグ&ドロップを使ってみて今わかったことを纏めてみます。

ここで使うのはPyQt6ですが、PyQt5との違いがある場合は指摘します。その違いについてもっと詳しくは[前回の記事で](https://qiita.com/phyblas/items/d56003904c83938823f2)。

# 外の物をGUIへドラッグして入れてみる

まずは外からGUIウィンドウの中に入れ込む方法です。

簡単に言うと、外からの物をドラッグでウィジェットの中に入れるためにはそのウィジェットを`.setAcceptDrops(True)`にする必要があります。

そしてドラッグが入ってきたら処理させたいことは`dragEnterEvent`メソッドで指定します。

元記事を表示

python 時刻変換対応図 now↔datetime↔文字列↔unixtime

#対応図

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104578/21bb851a-7182-6e92-cce1-3c58e798718a.png)

#①datetime.datetime.now() 
現在時刻→datetimeオブジェクト

“`python
>>> import datetime
>>> datetimeオブジェクト = datetime.datetime.now()
>>> print(datetimeオブジェクト)
#2021-01-01 15:34:47.893841
>>> print(type(datetimeオブジェクト))
#
“`

#②datetime.datetime.fromtimestamp()
unixtime→datetimeオブジェクト

“`python
>>> import datetime
>>> 時刻INTオブジェクト = 1609426800 #2021-0

元記事を表示

LeetCode “47. Permutations II”をPythonで解いた話

前回の記事とほぼ同じ内容です。

#問題

>
>数の集まりnumsが与えられています。これには、同じ数字が複数入っていることがありえます。
>すべてのありうる順列を、1つの順列につき1つずつ答えてください。
>順番は気にしません。
>

こちらから挑戦できます。
https://leetcode.com/problems/permutations-ii/

#方針

今回も、ライブラリーを使ってはいけないという注意書きがないので、itertoolsを使います。

“`py

from itertools import permutations

class Solution:
def permuteUnique(self, nums: List[int]) -> List[List[int]]:
#重複を防ぐために一度setにします。
#問題は答えとしてlistを求めていますが、setのままでも通ります。
return set(permutations(nums, len(nums)))

“`
結果:**Success*

元記事を表示

画像判定による自動車の車種識別を実践してみた

#はじめに

この記事は Aidemy Premium plan AIアプリ開発コースの最終成果物として AIを用いた画像認識アプリを開発する過程を記録したものです。

自分は車関係の仕事をしているため自動車の画像で車種を判別するためのアプリの制作を行いました。

#目次
1. [実行環境](#1. 実行環境)
2. [画像の水増し](#2. 画像の水増し)
3. [CNNモデル作成および学習](#3. CNNモデル作成および学習)
4. [HTMLとFlaskコードの作成](#4. HTMLとFlaskコードの作成)
5. [アプリの動作確認](#5. アプリの動作確認)
6. [Herokuへのデプロイ](#6. Herokuへのデプロイ)
7. [反省](#7. 反省)

#1. 実行環境
Python 3.8.7
Windows10 (第10世代Corei7)
Visual Studio Code

#2. 画像の水増し
学習のために使用した画像はすべて Googleの画像検索から同車種のものを数枚ピックアップして保存しました。

元記事を表示

ピカチュウっぽいポケモンを機械学習で分類してみる

# はじめに

今回のソースコードと学習に使用した画像データセットは、以下のGithub上に公開しています。
https://github.com/33taro/pikachu_image_classification

ポケモン好きで機械学習を勉強したなら誰もが一度は夢見るリアルポケモン図鑑作成を目指してみました。
ただ現在のポケモンは900種類近くおり、いきなり全てを画像分類するの困難です。

そこでまずはピカチュウっぽいポケモンを機械学習で画像分類してみることにしました。
似たような特徴を持つポケモンの分類が正確にできるなら、それを拡張して将来的にポケモン図鑑を作れるんじゃないかと夢見ています。

![ffdba97eaebd779869a8f181cfa7c9697a8c4a07.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224034/3690cacd-6acc-c806-1338-f37e558892c9.jpeg)

画像収集方法はグーグル画像検索で「ポケモン名」 + (ア

元記事を表示

深層強化学習(PPO)を用いたシステムトレーディング

# はじめに

 近年、人工知能ブームにより、人工知能を使ったトレーディング手法が盛んである。そこで、今回は深層強化学習を用いたシステムトレーディングを実施した。
 まず、基本的な深層強化学習を用いたトレーディングモデルである。agentの行動として、 BUY、HOLD、SELLの三つの内一つを選択する。環境の戻り値として、状態(今現在保有しているポジションの価格、市場価格、手持ちのキャッシュ)、報酬(手持ちのキャッシュの変化値(含む益も含む))、終了(取引の終了か否か)、情報(ターミナルにディスプレイする情報)を返す。

![rl_flow.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/731268/069f776d-e578-31b0-89e6-a42f7a20d4c5.png)

## 使用データについて

トレンド傾向の掴みやすさから、yahoo financeからGSPCの日足を使用した。

訓練データの期間:2015/1/1 – 2017/6/30
テストデータの期間:2017/7/1 –

元記事を表示

OTHERカテゴリの最新記事