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

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

「新・明解Pythonで学ぶアルゴリズムとデータ構造」で勉強日記#24

【出典】[「新・明解Pythonで学ぶアルゴリズムとデータ構造」](https://www.amazon.co.jp/%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0-%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%9F%B4%E7%94%B0%E6%9C%9B%E6%B4%8B/dp/4815603197/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1BG3JS7CKMZA0&keywords=Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%A2%E3%83%AB%

元記事を表示

現役エンジニアがプログラミング学習サービス「Progate」のおすすめコンテンツを5つ+α厳選してみた

# 読んで欲しい方
– プログラミングでも始めてみようかな、と思っている方
– できれば無料で勉強したいと思っている方
– 何から始めたら良いかワカンネ状態の方

# Progateとは?
> Progateはオンラインプログラミング学習サービスです。「初心者から、創れる人を生み出す」ことが、私たちの理念です。

[公式サイト](https://prog-8.com/)より

# なぜProgateなのか?
イラストを使った説明がわかりやすく、迷わない!
文系出身の自分でも挫折することなく、おかげさまで「創れる人」になりました!
Progateさん、ありがとう!!謝謝!!

# おすすめコンテンツ一覧 (言語別コース編から厳選)
では、さっそく!
おすすめコンテンツは以下になります。

* JavaScript
* Python
* Command Line
* SQL
* Git

5つ上げていますが、**プログラミング言語** と **その他**に分けられます。
## プログラミング言語
* JavaScript
* Python

## その他
* Command Line

元記事を表示

[py2rb] zip

# はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
# zip (Python)
“`python
import numpy as np

x = np.array([1, 2, 3])
y = np.array([4, 5, 6])

for a, b in zip(x, y):
print(a, b)

# output
1 4
2 5
3 6
“`
何の変哲もないように思われますが、pythonとnumpyの親密さが伺い知れます。
# 失敗(Ruby)
“`ruby
require ‘numpy’

x = Numpy.array([1, 2, 3])
y = Numpy.array([4, 5, 6])

x.zip(y).each do |a, b|
p [a, b]
end

# output
undefined method `zip’ for array([1, 2, 3]):Numpy::NDArray (NoMethodError)
“`
`PyCall`経由とはいえエラーになります。
# 成功(Rub

元記事を表示

Selenium を使わずに、Actions リクエストを送る

# Actions とは?
Actions コマンドは、WebDriver を使ってブラウザにローレベルアクセスをするための機能です。
オブジェクトをダブルクリックしたいとか、右クリックしたいとか、あるキーを押しながら左クリックしたい、と言う時に使用します。
「ctrl」キーを押しながら、リンクを左クリックして、新しいタブでリンク先ページを開く、という操作を例に、サンプルを提示します。
なお、対象ブラウザは Edge および Chrome です。
## Python & Selenium での、Actions の使い方
“`python:Actions の使い方
driver = webdriver.Edge(r”C:\Users\〇〇\Downloads\edgedriver_win64\msedgedriver.exe”)
# 中略
actions = ActionChains(driver) # Actionsオブジェクトの生成
actions.key_down(Keys.CONTROL) # ctrlキー押下
actions.cli

元記事を表示

オイラーのφ関数とユークリッドの互除法

“`python:最大公約数(ユークリッドの互除法)
gcd = lambda m, n: n and gcd(n, m % n) or m
“`

“`python:オイラーのφ関数
eulerphi = lambda n: sum(int(gcd(m + 1, n) == 1) for m in range(n))
“`

“`python:テスト
>>> [eulerphi(n+1) for n in range(16)]
[1, 1, 2, 2, 4, 2, 6, 4, 6, 4, 10, 4, 12, 6, 8, 8]
“`

元記事を表示

dockerでデータ分析用のjupyterlab環境をすばやく構築

# この記事について
– 研究やデータ分析を目的としたjupyterlab環境の構築方法について紹介します。
– dockerを利用しますが詳しい知識がなくてもとりあえず動かせるはずです。
– 環境はWindowsもしくはUbuntuを前提にして進めます。

# 構築する環境の特徴
– とりあえず解析できる環境をすぐに構築したい
– ローカル環境を汚さない
– numpyなど基本的な拡張モジュールが導入済み
– python、julia、Rが使える

# 手順
## windowsの場合はwslをインストール
windows10の場合wsl2が必要になるので各自で用意して下さい。詳細は[公式ページ](https://docs.microsoft.com/ja-jp/windows/wsl/install)を参照して下さい。
windows11ではpowershellを開いて“`wsl –install“`で簡単にインストールできます。

## dockerをインストール
### windowsの場合
[Docker Desktop on Windows 公式ページ](https:

元記事を表示

[Ansible] 既に入ってるのに”ERROR! The ec2 dynamic inventory plugin requires boto3 and botocore.”と言われたときの対処方法。

# はじめに

`aws_ec2`インベントリプラグインを使いたくて、boto3とbotocoreをインストール。

https://docs.ansible.com/ansible/latest/collections/amazon/aws/aws_ec2_inventory.html

“`
$ pip install boto3 botocore # boto3とbotocoreをインストール
“`

いざansibleコマンドをすると、以下のようなことを言われる。

“`
ERROR! The ec2 dynamic inventory plugin requires boto3 and botocore.
“`

boto3とbotocoreをインストールしろとのこと。
ええ……。

# 解決方

yumでboto3をインストールします。

“`
$ sudo yum install python-boto3
“`

botocoreに関してはインストールしなくても大丈夫です。
以下を実行しても、「既に入ってるぜ?」と言われます。どっちだよ。

“`
$ sud

元記事を表示

AWS Cloudformationファイルを元にIAM Policyを生成する

# はじめに
AWSログインユーザに払い出す権限は最小権限であるべき。
しかしながら、Cloudformationでは様々なリソースを一気に作る関係上必要最小限のIAMポリシーが分からない。
最小権限を調査する方法としては[IAM Access Analyzer](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/what-is-access-analyzer.html)を利用する。
この時、一時的にでもAdmin権限を渡してCloudTrailログを解析することになる。

本記事はセキュリティ管理者に権限を申請する際、何の権限が必要なのかを調べようとしたときそのポリシーの種類と情報量に圧倒された人向けである。

# TL;DL
[cfn-giam](https://pypi.org/project/cfngiam/)を利用する
**note: 筆者作成ツールであり、2022/03/01時点でデバッグ未完了。フィードバック募集中。**

1. AWS CLI実行可能環境を用意する(CloudShellやaws configur

元記事を表示

ロジスティック回帰によるスパムフィルタの実装と入出力確認

正解付きスパムメッセージの学習データを用いて、回帰による2値分類の学習済みモデルを作成しその性能評価を行う。作成した学習済みモデルをスパムフィルタとして、実際に文書を入力し判定結果を出力するまで試みた。

# 実行環境
今回使用する環境は以下とする(Google Colab上でも動作確認済み)
以下はあくまで環境紹介のためのコードであり、本投稿記事の実装内容には不要なコードとなります。

“`python
import numpy as np
import pandas as pd
import platform
import nltk
import sklearn

print(f’python : {platform.python_version()}’)
print(f’numpy : {np.__version__}’)
print(f’pandas : {pd.__version__}’)
print(f’nltk : {nltk.__version__}’)
print(f’scikit-learn : {sklearn.__version__}’)
“`
環境情報の出

元記事を表示

[Pokémon LEGENDS アルセウス] 時空の歪みをpythonで自動検知・Discordに通知

## メニュー
* [初めに](#初めに)
* [実行画面のキャプチャ](#実行画面のキャプチャ)
* [環境](#環境)
* [プログラムの概要](#プログラムの概要)
* [ディレクトリ](#ディレクトリ)
* [ソースコード](#ソースコード)
* [参考文献](#参考文献)
# 初めに
 `Pokémon LEGENDS アルセウス`では`時空の歪み`というイベントがあるのですが、発生条件がランダムであるためイベント発生までゲーム画面を注視する必要があります。
 そこで、`python`で画像処理を行い`時空の歪み`を検知し`Discord`に通知を行うプログラムを作成しました。

# 実行画面のキャプチャ