- 1. ABC250 A~D問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder
- 2. 【Python】配列の順序を保持しながら集合演算(和集合、差集合、積集合)を行いたい
- 3. ざっくり分かるpytestのfixture
- 4. Foobar Google Challengeに挑戦してみた
- 5. NFCを用いて入室管理システムの作成備忘録Ver1.0
- 6. SPSS Modeler ノードリファレンス 7-4 拡張のエクスポート
- 7. SPSS Modeler ノードリファレンス 6-8 拡張の出力
- 8. SPSS Modeler ノードリファレンス 5-13 拡張モデル
- 9. SPSS Modeler ノードリファレンス 2-11 拡張の変換
- 10. SPSS Modeler ノードリファレンス 1-7 拡張のインポート
- 11. 【Python】 MQTTチャットアプリ
- 12. Python Excelより値を取得し、メールテンプレートを作成する
- 13. 「テキストアナリティクスの基礎と実践」をpythonで読む6 アソシエーション分析による共起分析
- 14. Python で Datastore SDK を利用する
- 15. 【Python】PyScriptで、HTMLにPythonを書き込む
- 16. 【スクレイピング】Coincheckの過去レートをCSV形式で取得する
- 17. Foliumを使って国土数値情報を地図上に表示する
- 18. Python を Numba で高速化するときの間違えやすいポイントまとめ
- 19. numpyとpandasの役立つ処理まとめ
- 20. Irisで前処理を試してみる。 ~標準化、無相関化、白色化~
ABC250 A~D問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder
ABC250(AtCoder Beginner Contest 250) A~D問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。更新時はツイッターにて通知します。
Tweets by AtCoder4その他のABC解説、動画などは以下です。
https://qiita.com/sano192/items/54accd04df62242b70f0
# A – Adjacent Squares
https://atcoder.jp/contests/abc250/tasks/abc250_a
辺でつながっているというのは要するに(R,C)の上下左右のマスの意味です。
それぞれのマスの座標は以下のようになります。
![ABC250_A_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700383/2044ef55-b501-5585-971a-53b6e38e47cc.png)それぞれのマスがマス目の中にあるか確認します。
例えばH=10,W=10で
【Python】配列の順序を保持しながら集合演算(和集合、差集合、積集合)を行いたい
# はじめに
私ごとですが、最近RubyのプログラムをPythonに書き換える機会がありました。
その時、配列に対して集合演算する必要があり、Pythonでこの方法を調べるとlistを一度setに変換して集合演算を行い、再度listに変換し直す記事が多数でした。
setは便利ですし、大半の場合はこの方法で十分だと思いますが、わたしの場合はもとのlistの順序を保持したかったので、setを使うことはできませんでした。よって本記事には、Pythonでsetを使わずに配列の順序を保持しながら集合演算を行う方法を残したいと思います。
# 目指す動作(Rubyの集合演算)
## 和集合「|
」
“`ruby
[2, 1, 1, 7, 5, 5] | [3, 3, 5, 7, 9]
# => [2, 1, 7, 5, 3, 9]
“`
重複している要素は取り除かれます。
左辺を基準に順番が保持されています。
## 差集合「-
」
“`ruby
[2, 1, 1, 7, 5, 5] – [3, 3, 5, 7, 9]
# => [2, 1,
ざっくり分かるpytestのfixture
## pytestにおけるfixtureとは
– テストの事前処理、事後処理を記載できるpytestの機能です。
– SetUp(事前処理), TearDown(事後処理)を1つの関数で書けます。
– `setup_class`, `setup_function`のように、スコープごとに違う関数を呼ぶ必要がありません。
– fixtureからfixtureを呼び出すことができ、処理を階層的に記述できます。## SetUp, TearDownじゃダメなの?
– ダメかと言われるとダメじゃありません。チーム内でスタイルが統一されている方が大事です。
– 機能面だけで言うと、pytestにおいてはfixtureを利用する方がリッチではあります。
– ブラウザ操作自動化ツールである[Playwright for Python](https://playwright.dev/python/)はfixtureを利用しています。
– 上記を採用する場合、可読性と保守性の観点からfixtureに統一することを勧めます。## 基本的な構文
“`python
import pyte
Foobar Google Challengeに挑戦してみた
`foobar google challenge`の招待が届いたので挑戦してみた
`challenge1`の回答例について記載します
# 問題
“`:問題
Write a function called solution(data, n) that takes in a list of less than 100 integers and a
number n, and returns that same list but with all of the numbers that occur more than n times
removed entirely. The returned list should retain the same ordering as the original list – you
don’t want to mix up those carefully-planned shift rotations! For instance, if data was [5, 10,
15, 10, 7] and n was 1, solution(data,
NFCを用いて入室管理システムの作成備忘録Ver1.0
# システム作成の経緯
先日メリカリを閲覧していたところ、「Sony Corporation©︎ RC-S330」を格安で入手することができました。
そこで、NFCを用いて遊んでみようと思い入室管理システムの開発を行いました。
※今購入するのであれば、「Sony Corporation©︎ RC-S380S」が最新モデルなのでこちらを買うと良いと思います。# 開発環境
* OS : macOS Monterey12.2.1(Intel Mac)
* リーダ : Sony CorporationRC-S330
* 言語 : Python3.10.0
* DB : AWS RDS(MySQLを使用)# 搭載する機能の決定
入退室管理システムで必要な機能をまとめました。
1. 新規登録機能(ICカードの情報と名前等を登録する機能)
2. 削除機能(ユーザーの削除を行う機能)
3. 入退室記録(何時にどこに入退室したのか)まずはシンプルに基本機能である上記3点の機能を実装することとします。
# システム構成図 & システムフロー
1. 新規登録機能のシステムフロ
SPSS Modeler ノードリファレンス 7-4 拡張のエクスポート
# 7-4 拡張のエクスポート[エクスポートタブ]
## 1.ノードの目的(拡張ノード共通)
SPSS ModelerにないアルゴリズムなどをPythonまたはRから呼び出して連携する。![スクリーンショット 2022-05-08 14.36.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/e8850631-b7e3-dcd1-78f0-60cf7003a24c.png)
*ノードリファレンスの拡張ノード5つの記事は全て共通です。
## 2.解説動画(拡張ノード共通)
#### Rによる地図連携(115秒)
SPSS Modeler ノードリファレンス 6-8 拡張の出力
# 6-8 拡張の出力[出力タブ]
## 1.ノードの目的(拡張ノード共通)
SPSS ModelerにないアルゴリズムなどをPythonまたはRから呼び出して連携する。![スクリーンショット 2022-05-08 14.36.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/e8850631-b7e3-dcd1-78f0-60cf7003a24c.png)
*ノードリファレンスの拡張ノード5つの記事は全て共通です。
## 2.解説動画(拡張ノード共通)
#### Rによる地図連携(115秒)
SPSS Modeler ノードリファレンス 2-11 拡張の変換
# 2-11 拡張の変換[レコード設定タブ]
## 1.ノードの目的(拡張ノード共通)
SPSS ModelerにないアルゴリズムなどをPythonまたはRから呼び出して連携する。![スクリーンショット 2022-05-08 14.36.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/e8850631-b7e3-dcd1-78f0-60cf7003a24c.png)
*ノードリファレンスの拡張ノード5つの記事は全て共通です。
## 2.解説動画(拡張ノード共通)
#### Rによる地図連携(115秒)
SPSS Modeler ノードリファレンス 1-7 拡張のインポート
# 1-7 拡張のインポートノード[入力タブ]
## 1.ノードの目的(拡張ノード共通)
SPSS ModelerにないアルゴリズムなどをPythonまたはRから呼び出して連携する。![スクリーンショット 2022-05-08 14.36.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/e8850631-b7e3-dcd1-78f0-60cf7003a24c.png)
*ノードリファレンスの拡張ノード5つの記事は全て共通です。
## 2.解説動画(拡張ノード共通)
#### Rによる地図連携(115秒)
【Python】 MQTTチャットアプリ ## 作成背景
新人教育でやることがないということで弊社事業部でよく使用するMQTTを使った課題があればなと思い作成したが、別課題が出てきたりGWでみんな休んだりして課題を出すタイミングがなくなったのでここで供養する。
## 概要
– MQTT通信を用いてメッセージのやりとりを行う
– Tkinterを用いてウインドウを作成し、送受信したメッセージを表示する## 完成イメージ
![画面収録-2022-05-09-7.31.07.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557457/793cb0a8-3c46-af72-069e-af97e66b2c1a.gif)
## 前提条件
– mosquittoがインストールされていること
– MQTT Brokerがあること
– python3がインストールされていること## MQTTについて
ざっくり説明するとパブサブ方式の軽量で高速な通信ができるプロトコルです。
ちゃんとした説明は↓とかで確認してください。[MQTTについて]
Python Excelより値を取得し、メールテンプレートを作成する
# 概要
入力をもとにExcelから計算した値を取得し、メールに張り付けます# 環境
## 仮想環境作成
“`
python -m venv .sendmail
“`## 仮想環境実行
“`
.sendmail\Scripts\activate.bat
“`# 事前準備
## ライブラリのインストール
pywin32: office関連操作用(今回はexcel、outlook操作に使用)
openpyxl: excel関連操作用
“`
pip install pywin32
pip install openpyxl
“`# コード
“`
import win32com.client
import datetime
import openpyxl# 定数
MAIL_TO = “XXX@XXX”
WORK_BOOK = r”C:\work\sample.xlsx”
TARGET_SHEET = r”test”
START_ROW_INDEX = 3
INPUT_COLUMN_INDEX = 3
GET_COLUMN_INDEX = 11prin
「テキストアナリティクスの基礎と実践」をpythonで読む6 アソシエーション分析による共起分析
この内容は金明哲さんの「テキストアナリティクスの基礎と実践」のRでの実装をpythonで書き換えながら読んでいくものです。
提供されているデータは、すでに形態素解析されてある程度集計されたデータとなります。説明が不十分であること、参考書通りの解析ができているわけではないことはご了承ください。
詳しくは本を読んでいただければと思います。### 前回
テキストのクラスタリングhttps://qiita.com/tanaka_benkyo/items/6683d1f0614044bd417a
## 6. アソシエーション分析による共起分析
### 6.1 アソシエーション分析
**アソシエーション分析**は、POS(販売時点情報)データ解析のために開発された方法である。
以下のPOSデータをイメージした架空のデータを示す。
このようなデータを**マーケット・バスケット・トランザクション**と呼び、各行を1つのトランザクション、あるいはバスケットと呼ぶ。
アソシエーション分析は、バスケットの中の商品間の関連性について分析を行う方法である。
トランザクションデータから、頻出するア
Python で Datastore SDK を利用する
# Python で Datastore SDK を利用する
FlaskでDatastoreを利用するために、
環境にDatastoreSDKをセットアップする## 手順
例によって[公式手順](https://cloud.google.com/datastore/docs/reference/libraries#client-libraries-install-python)を参考にする
### 1. クライアントライブラリをインストールする
“`sh
仮想環境がある場合は仮想環境に入る
$ source venv/bin/activate(venv) $ pip install –upgrade google-cloud-datastore
(venv) $ pip list | grep datastore
google-cloud-datastore 2.5.1
“`### 2. 認証用サービスアカウントを作成する
Terraformにて作成
– ID : datastore-sdk
– role : roles/datastore.us
【Python】PyScriptで、HTMLにPythonを書き込む
# はじめに
AnacondaがリリースしたPyScriptというフレームワークはHTMLにPythonを書き込むことができます。
この記事ではちょっとだけ試してみたいと思います。# 1. PyScriptをインポートする
“`html
“`
二行のコードだけでPyScriptが使えるようになります。# 2. 基本の使い方
Pythonを書き込むために、
“`html“`
というタグが必要です。それでは、簡単に定番のHello World!をやってみましょう。
【スクレイピング】Coincheckの過去レートをCSV形式で取得する
“`html:helloWorld.html
# 概要
仮想通貨の自動売買を行う際に分析のために過去レートが欲しいなって思うときがあります。
あるいは投資開始からの評価損益を計算するためにも過去レートが必要になります。
[コインチェック](https://coincheck.com/ja/)では過去1年間の総資産の推移というものがメイン画面で見れますが、それ以前の結果は確認することがおそらくできません。そこで今回はコインチェックが提供している[取扱い仮想通貨の終値一覧](https://coincheck.com/ja/exchange/closing_prices)ページから**WEBスクレイピング**でコインチェックサービス開始からの各通貨の1日単位の終値を取得したいと思います。
# 環境
| | バージョン |
| —- | —- |
| Python | 3.10.4 |
| selenium |4.1.3 |
| beautifulsoup4 | 4.11.1 |
| chromedriver-binary | 101.0.4951.41.0|# コード
Githubにコードを上げて
Foliumを使って国土数値情報を地図上に表示する
# はじめに
[国土数値情報](https://nlftp.mlit.go.jp/index.html”国土数値情報”)などから得られるShapeファイルをJupyter notebookで加工する必要があった。
期待通りの結果になっているかを地図上で確認するために、加工結果を再度Shapeファイルにして、QGISでに読み込ませて表示する、ということをやっていたが面倒だった。
Foliumというライブラリを使えば、Jupyter notebook上で地図表示が可能だということを知ったので本記事を書いた。
# 国土数値情報のダウンロード
[国土数値情報](https://nlftp.mlit.go.jp/index.html)から適当なデータをダウンロードする。
ここではポイントデータとして[東京都の避難施設](https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-P20.html#prefecture13)とする。
# ライブラリのインストール
“`python
pip
Python を Numba で高速化するときの間違えやすいポイントまとめ
## はじめに
決まればPythonを劇的に速くするNumba。
使ってみて細かなはまりポイントがあったので注意点を集約してみた。– 以下も参考
– https://numba.pydata.org/ 公式ホーム
– https://numba.readthedocs.io/ 公式ドキュメント
– https://ikatakos.com/pot/programming/python/packages/numba
– https://nagiss.hateblo.jp/entry/2020/08/20/060340
– https://qiita.com/sonokr/items/4b35ac2137bb16e82bd0## 要約を兼ねた目次
– [1. ざっくり使い方](#1-ざっくり使い方)
– [1-1. 基本的な制限](#1-1-基本的な制限)
– [2. @jitの重要な引数](#2-jitの重要な引数)
– [2-1. 必ずnopythonモードで利用する](#2-1-必ずnopythonモードで利用する)
–
numpyとpandasの役立つ処理まとめ
# numpyとpandasの役立つ処理まとめ
実務で使う中で良いと思ったものをメモとして載せておきます。## numpy
### 数える:np.unique
– np.unique, return_countsが結構便利。
– pandasのvalue_counts、collectionsのCounterでもいいけど、numpyをimportしてない時はまずないので一番使いやすい。““python
t=np.random.randint(0, 10, 10)
print(t)
#[2 0 9 9 8 1 3 2 1 8]
print(np.unique(t, return_counts=True))
#(array([0, 1, 2, 3, 8, 9]), array([1, 2, 2, 1, 2, 2], dtype=int64))
““### 対数変換:np.log1p, np.expm1
– np.logよりnp.log1pのほうが役立つときもあるから覚えとく、対応はnp.expとnp.expm1““python
t = np.array([
Irisで前処理を試してみる。 ~標準化、無相関化、白色化~
# はじめに
この記事では「[はじめてのパターン認識](https://www.morikita.co.jp/books/mid/084971)」(通称はじぱた)の第4章4.1節のデータの前処理(線形変換)の数値例をPython(numpyのみ)で実装する。# データのロード
Scikit-kearnのload_iris()を使う。“`python
from sklearn.preprocessing import StandardScaler
import numpy as np
from matplotlib import pyplot as plt
“`“`python
from sklearn.datasets import load_iris
from sklearn import preprocessing
iris = load_iris()
“`“`python
import pandas as pddf = pd.DataFrame(iris.data, columns=iris.feature_names)
df[‘target