- 1. pip uninstall all
- 2. 表の相関係数を一覧で見たいときはどうしたらいい?
- 3. ChatGPTで作る – 京都の衛星画像を機械学習で解析するプログラム
- 4. Python: クローラーってどうつくるの?種類と作り方の概要について
- 5. Python・スクレイピング:再実行を意識したクローラーってどう作るの?概要について
- 6. [Maya Python] コマンドからDeadlineにサブミットする
- 7. 基本的なSortをmatplotlibでアニメーションにしてみた
- 8. Pythonでリーマンのゼータ関数を動的にプロットしてみた
- 9. pygameにおける動画再生方法(既存のウィンドウを使用する場合)
- 10. データサイエンス100本ノック(構造化データ加工編)ー ヒント集(P-001〜P010)
- 11. ChatGPTで行うコードレビューを日本語と英語で比較してみる
- 12. mocopi のアニメーションデータbvhをfbxに変換する
- 13. ユニークビジョンプログラミングコンテスト2023 新春 C問題解説(Pythonコード例付)
- 14. [python]Jupyter-Notebookを秒でWebアプリ化するパッケージMercuryの使い方
- 15. Python – ログ
- 16. Amazon Timestreamからboto3でデータを取得する
- 17. Yahoo APIで取得した現在の降水量をstreamlitで地図上に3D棒グラフ表示する
- 18. アニーリングマシンで分子内の結合関係を作る
- 19. PythonにおけるLinterとFormatterのテンプレ
- 20. gradioのgr.Interfaceについて
pip uninstall all
pipでインストールしたものを全て消す。確認も省略しているので要注意。
“`bash
pip freeze > freeze.txt; pip uninstall -y -r freeze.txt; rm freeze.txt
“`
表の相関係数を一覧で見たいときはどうしたらいい?
# 問題
一覧で相関係数を見たいときはどうしたらいい?
pythonのdataframeを使っている# 解法
pandas.DataFrame.corr()をつかおう!# 解答例
~~~python
df_corr = df.corr()
print(df_corr)
print(type(df_corr))
# A B C
# A 1.000000 0.958927 0.905882
# B 0.958927 1.000000 0.987130
# C 0.905882 0.987130 1.000000
#
~~~# 参考文献
Coursera data analysis with python と
[https://note.nkmk.me/python-pandas-corr/](https://note.nkmk.me/python-pandas-corr/)
ChatGPTで作る – 京都の衛星画像を機械学習で解析するプログラム
以前、京都の衛星画像を機械学習で解析する記事を書きました。
https://qiita.com/dg4101/items/2968864714fe72b0d7bf
今回は同じことをChatGPTに頼んでコードを書いてもらいました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799224/d52271e2-36de-e0d2-f9d7-5598a9ab3e48.png)
先ずはこのようにChatGPTに入力します。
するとあっという間に以下のような返答が![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799224/7afda0fa-5e2a-2a07-ad98-4733e29036c0.png)
日本語でコメント付きです。解析した画像の保存は次の通り。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazo
Python: クローラーってどうつくるの?種類と作り方の概要について
# はじめに
備忘録です
# そもそもクローラーとは
+ WEB上の情報を取得するプログラムの事
+ クローリングとはウェブページをたどって次々とデータをダウンロードすること
+ **ウェブサイトの特徴に合わせたクローラーを作成する必要がある**
# クローラーの種類は3種類
+ 状態を持つクローラー
+ JavaScriptを解析するクローラー
+ 不特定多数を対象とするクローラー
## 状態を持つクローラーの作り方
状態を持つクローラーとは、cookieとかをつかうサイトに必要!
作り方
+ RequestsのSessionオブジェクトを使用する
+ サーバーからもらったcookieを保存して、次回以降のリクエストを出す時に一緒に送信してくれる。
+ または、、Referer
+ ひとつ前に見ていたサイトのURLをサーバーに送るHTTPヘッダー
+ これをもとに処理を決定するウェブサイトがあるらしい
## JavaScriptを解釈するクローラーの作り方
JavaScriptで作られているウェブサイトをクローリング&スクレイピングするときに必要
+
Python・スクレイピング:再実行を意識したクローラーってどう作るの?概要について
# はじめに
備忘録です
# 本文
+ 再実行を意識したクローラーの作成
+ 一意のKeyを持たせること
+ クローラーを実行したら更新する
+ 新しいデータは追加する
+ パーマリンクがカギになる
+ パーマリンク
+ URLが変わらない。
+ WEBサイトごとに仕様が違うので、どういう風になっているのか観察しよう!
+ 作り方
+ 一覧ページからパーマリンクを抜き出す
+ 詳細ページをスクレイピングする
+ RequestsのSessionオブジェクトは便利
+ データを保存する
+ 途中途中でするといいこと
+ developerツールを使って、どんな風にWEBサイトが作られているか観察する
+ これが、どうやって情報を抜き出したらいいかという問いの答えにつながる# memo
# 参考文献
加藤耕太さん「Python クローリング&スクレイピング」
#######
[Maya Python] コマンドからDeadlineにサブミットする
## はじめに
2022年8月に無償化されたAWS Thinkbox製品の「**Deadline**」ですが、ようやくじっくり触り始めたので備忘録を残しておきます。コマンドからジョブをサブミットするには、Deadline Clientに付属している`deadlinecommand.exe`を使用します。実際は`deadlinecommand.exe`を叩くだけですのでMayaもPythonも関係なしに動くのですが、そのままでは公式ドキュメントのままなのでより実務で使えそうなMaya & Pythonの例で記載していきます。
### 公式ドキュメント
* [Manual Job Submission — Deadline 10.2.0.10 documentation](https://docs.thinkboxsoftware.com/products/deadline/10.2/1_User%20Manual/manual/manual-submission.html)
* [Command — Deadline 10.2.0.10 documentation](https:/
基本的なSortをmatplotlibでアニメーションにしてみた
# tl;dr;
* 初めてのApplicationとしてSort appを作成中。せっかくなので、アニメーションにしてみた
* `matplotlib`をつかったが、公式Refが難しく、調べてもなかなかわからないことが多かった
* 外面の良いアウトプットができると人に見せやすくなるので、今後もできるだけアウトプットはしていく# What learned
* `yield` は関数の途中で一時停止を行うことができる。その際に`generator object`が帰ってくる。停止場所から再開をすることができる。
* `numpy` を初めて使ったが割と便利そう。今回は`np.linespace(0, 1, len(n)`としてグラフの標準化に使用した。
* アニメーション描画ということで初めて本格的に、Freeのパッケージを触ったが、説明がややこしく一見でほぼ理解できなかった。周辺知識不足とともに、世界中のわかりやすいRefに感謝。
* `animation.FuncAnimation` にてanimation作成
* fig: Figure, figure object
Pythonでリーマンのゼータ関数を動的にプロットしてみた
リーマン予想に興味ある人向け。
# やったこと
リーマンのゼータ関数を対称形($f(s)=f(1-s)$)になるように変形した関数
$\xi(s)=\pi^{-\frac{s}{2}}\Gamma\left(\frac{s}{2}\right)\zeta(s)$
をプロットしている。$Re(s)=\frac{1}{2}$付近を、$Im(s)$を時間経過にしたがって増加させて$\xi(s)$の実部と虚部をプロットしてみた。(クリティカルラインを上っていくイメージ)
# ソースコード
## 実部と虚部を同じエリアにプロットするバージョン
“`py
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import _pylab_helpers
import mpmath
mpmath.mp.dps = 12def zeta_re_im(re_list,im):
z_re = np.zeros(len(re_list))
z_im = np.zeros(len(re_list
pygameにおける動画再生方法(既存のウィンドウを使用する場合)
# 目次
[1. はじめに](#1-はじめに)
[2. モジュールのダウンロード](#2-モジュールのダウンロード)
[3. サンプルプログラムの準備](#3-サンプルプログラムの準備)
[4. 動画再生コードの追加](#4-動画再生コードの追加)
[5. おわりに](#5-おわりに)# 1. はじめに
pygameにおいて動画を再生する方法を記載します。
劇中ムービーのように新規ウィンドウを開かずに既存のウィンドウで動画を再生することを想定しています。
pygameにおいて動画再生は音と別々の再生になるため、あまり向いていませんが自分なりにコードができたので公開します。
修正点等あればご指摘いただきたいです。# 2. モジュールのダウンロード
Python版OpenCVを使用するため、最初にインストールを行います。
OpenCVとは、Intelが開発したオープンソースの動画や画像を処理するライブラリです。“`python:インストール
pip install opencv-python
pip install opencv-contrib-python
“`#
データサイエンス100本ノック(構造化データ加工編)ー ヒント集(P-001〜P010)
# この記事ってなに?
[データサイエンスの100本ノック](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess)に取り組んだ時、
**「答えを見るのは嫌だ!! でもヒントは欲しい…」** 的なヒトむけに向けた記事!(ついでに私が取り組んだ時の回答も折り畳みで隠して記載しておくので、
15分考えてダメなら、確認して次へ進もう)| ページ内リンク |
|:————-|
| [P-001ヒント](#-P-001) |
| [P-002ヒント](#-P-002) |
| [P-003ヒント](#-P-003) |
| [P-004ヒント](#-P-004) |
| [P-005ヒント](#-P-005) |
| [P-006ヒント](#-P-006) |
| [P-007ヒント](#-P-007) |
| [P-008ヒント](#-P-008) |
| [P-009ヒント](#-P-009) |
| [P-010ヒント](#-P-010) |本記事以外のヒント
ChatGPTで行うコードレビューを日本語と英語で比較してみる
前に書いた機械学習の記事に使ったPythonのコードを、話題になっているChatGPTにコードレビューさしてみました。
https://qiita.com/dg4101/items/2968864714fe72b0d7bf
英語と日本語でどれくらい違いが出るか比べてみました。
使ったコードは`データの読み取り`の章で紹介した、以下のコードです。
行っているのは衛星画像のr種類のデータをファイルから読み込み、r個要素の入った3次元配列を返しています。それをさらにr個要素の入った1次元の配列にし直しています。“`python
def k_get_raw_data(city,dataset,r,x,y,h,w):
mimage = np.zeros((h, w, r), dtype=int)
for i in range(r):
b = i + 1
with rasterio.open(city + ‘\\’ + dataset + str(b) + ‘.tiff’) as src:
data = src.re
mocopi のアニメーションデータbvhをfbxに変換する
## はじめに
Sony製モーションキャプチャデバイス「[mocopi](https://www.sony.jp/mocopi/)」はモーションデータをbvh形式で保存できます。
Unityでモーションデータを読み込むにあたり、Blenderを使用してbvhをfbxに変換します。
毎回同じ手順を繰り返すのは面倒なのでスクリプトを作成しました。## モーションデータの保存場所
> ヒント
> データ(BVHファイル)は、スマートフォンの下記の場所に保存されます。
> iPhone:mocopiフォルダのMotionData配下
> Android:ユーザーが初回保存時に指定したフォルダ配下https://helpguide.sony.net/mobile/qm-ss1/v1/ja/print.pdf
## スクリプト
https://gist.github.com/afjk/8bf1dd3eb6c42af7dcae76246ad9401b## 実行方法
Blenderのインストールパスは実際のパスに読み替えてください。
* mac
“`
/Applications/Ble
ユニークビジョンプログラミングコンテスト2023 新春 C問題解説(Pythonコード例付)
# はじめに
本記事はPythonでAtcoderにチャレンジしているけど、Pythonはコード例がないため解説がわかりにくい!と感じている方を対象としています。
私自身大してレートも高くないので、不備等あるかもしれませんがご了承くださいm(_ _)m
質問や指摘などもコメント等に書いてくださったら対応していきたいと考えていますのでどしどしコメントしてください。(内容がわかりにくいぞ!みたいな文句でもオールオッケーです笑)# ユニークビジョンプログラミングコンテスト2023 新春 C問題
問題のURLはこちらです。[ユニークビジョンプログラミングコンテスト2023 新春 C問題](https://atcoder.jp/contests/abc287/tasks/abc287_c)# 使う手法
UnionFind木を使います。
正直自分もあまり理解できていませんが、UnionFind木はデータ構造の一つで、データのグループ管理を楽にしてくれるものらしいです。
実装例は[こちら](https://note.nkmk.me/python-union-fin
[python]Jupyter-Notebookを秒でWebアプリ化するパッケージMercuryの使い方
# 概要
**MecruryはJupyter-notebookファイルをそのままWebアプリとして実装できるパッケージである。**
GitHub:https://github.com/mljar/mercury日本語でも既に2件、ハンズオン形式で紹介されている。
早速動かしてみたい人はこちらを参照すると良い。
https://ss1.xrea.com/penguinitis.g1.xrea.com/computer/programming/Python/mercury.html### この記事で書いたこと
* Mercuryの利用シーン(@筆者が働いている大学)
* Mercuryの基本的な機能の説明
* 使用した所感こちらにサンプルコードを載せています。
https://github.com/gmoriki/mercury_sample### Mercuryの画面
導入後、`mercury run demo`でデモプログラムを起動できる。
![im
Python – ログ
# configparser
“`python:
import configparserconfig = configparser.ConfigParser()
config[“DEFAULT”] = {
“debug”: True
}
config[“web_server”] = {
“host”: “127.0.0.1”,
“port”: 80
}
config[“db_server”] = {
“host”: “127.0.0.1”,
“port”: 3306
}with open(“config.ini”, “w”) as config_file:
config.write(config_file)
“`“`python
import configparserconfig = configparser.ConfigParser()
config.read(“config.ini”)
config[“web_server”][“host”]
“`# yaml
“`python
import yaml
Amazon Timestreamからboto3でデータを取得する
# はじめに
[センサからのデータをAmazon Timestreamに格納した](https://qiita.com/ckw-1227/items/82f3bc0d6c2e689411a5)ので、今度はデータを取り出したい。
データの取得方法をLambdaでpython3.9/boto3を使って確認する。# Timestreamテーブル内のデータ
Timestreamは各項目(メジャー)ごとに1レコードを使う形で格納される。
今回の例ではセンサの位置情報(lat/lon)、温度(temp)、湿度(humi)が格納されている。時間間隔は基本的に3分毎。
| simId(ディメンション) | timestamp(ディメンション) | measure_name | time | measure_value::double |
|:-:|:-:|:-:|:-:|:-:|
| sim_id | 1674918682708 | lat | 2023-01-28 15:11:24.416000000 | 35.1 |
| sim_id | 1674918682708 | lon
Yahoo APIで取得した現在の降水量をstreamlitで地図上に3D棒グラフ表示する
![Qiita_2022-11-28 213432.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350321/d957e9f9-d959-1d81-28d3-01611912c15b.png)
## はじめに
いくつか似たような事をしている記事も見かけたのですが、私のやりたい事とはちょっとちがったので、自分で作ってみました。
今回使用するのは、Yahoo APIと私の過去の記事でも使っている簡単にWebアプリを作れるPythonのフレームワークstreamlitです。サンプルコードでは、私の行動範囲の名駅、金山、栄、大曽根の現在の降水量を地図上に表示します。## 準備
①[こちら](https://developer.yahoo.co.jp/start/)を参考にYahoo APIを使う準備をして下さい。
https://developer.yahoo.co.jp/start/
②ご自身のPython環境でstreamlitとpydeckを使えるようにしておいて下さい。(※str
アニーリングマシンで分子内の結合関係を作る
### 背景
はじめに書いておくと、実用性はほとんどない(と僕は思っている)。しかし、これを読んだ誰かがいいことを思いつくかもしれないので、公開しておこうと思う。具体的には、ある組成式を与えたときに、互いにどのような結合関係にあるか、をシミュレーションする。たとえば、「CH4」という組成を与えたときに、「CとHが結合していて、HとHは結合してなくて、、、」みたいなことをシミュレーションする。### アニーリングマシンについて
全くの初心者は、先に下記の記事を読んでください。この記事と↓の記事の間にレベル差があるけれど、間埋めになる記事はそのうち書きます。https://qiita.com/ojiya/items/e6741a18abac265f8318
### 基本的な考え方
分子は、互いに結合した原子、あるいは結合していない原子からなる。そこで、原子$i$と原子$j$が結合しているときに、$q_{ij}=1$、結合していない時に$q_{ij}=0$というルールにする。そうすると、$q_{ij}$からなる行列は、以下の特徴を持った行列となる。
・第$i$行は、原子$i$の結
PythonにおけるLinterとFormatterのテンプレ
プロジェクト毎にLinterやFormatterの設定をするのってめんどくさくないですか??
いつでも使い回せるように、pipを使ってpythonのテンプレートを作っておこうと思います。## ツール
以下のパッケージを使用しています。
– black
– isort
– flake8## 設定ファイル
“`toml:pyproject.toml
[tool.black]
line-length = 88[tool.isort]
profile = “black”
line_length = 88
“`“`.flake8
[flake8]
max-line-length = 88
extend-ignore = E203
“`“`json:.vscode/settings.json
{
“python.linting.enabled”: true,
“python.linting.pylintEnabled”: false,
“python.linting.flake8Enabled”: true,
“python.linting.lint
gradioのgr.Interfaceについて
# はじめに
gradioを使えば簡単な機械学習のデモアプリが作れます.
公式のドキュメント
https://www.gradio.app/docs/
公式のクイックスタート
https://gradio.app/quickstart/上記のサイトを見れば分かると思いますが,ここでは自分の解釈を書いていきます.
# 目次
1. [gr.Interfaceについて](#Chapter1)
1. [複数入力のとき](#Chapter2)
1. [参考文献](#reference)
# gr.Interfaceについて
gradioを扱う上で一番大事なところかつ,ここさえ分かっていればOKなところです.
必要な引数が,fn,inputs,outputsの3つあります.下のコードは,入力が画像,出力がラベルである,画像の識別問題です.(公式サイトにあるコード)
今回は識別はせずに固定値を出力しているようにしています.
“`py
import gradio