- 1. 【厳選】最低限のpandasテクニックを習得できるpandas64本ノック
- 2. Aiohttpで作るSimple Web Server
- 3. Kerasを使って学べるレシピの紹介
- 4. DobotMagicianをpythonで動かす
- 5. #3 Azure Databricks を使ってみよう 【格納編】
- 6. #2 Azure Databricks を使ってみよう 【抽出変換編】
- 7. 【AWS】PynamoDBを使ってみる
- 8. 二重降下の例
- 9. 幾何分布を数学的にもpythonでもアプローチする
- 10. Djangoレッスンメモ
- 11. M1macにmatplotlibを入れる
- 12. 【Python3】0から作るPython初心者プログラミング【02】-じゃんけんプログラムをクラス化する-
- 13. GoogleAnalytics のRetention viewをPythonで模倣する
- 14. 【AtCoder解説】PythonでABC224のA,B,C,D問題を制する!
- 15. Webスクレイピングツール5選 | Webクローラーを簡単評価(4)
- 16. Pythonのタプルについてまとめてみた
- 17. 文字列をBoolに変換
- 18. bookmeterのAPIをつくってみた。 #1 (データの取得)
- 19. pipインストール手順
- 20. PymatgenでABINIT入力ファイルを作成し、自動実行する
【厳選】最低限のpandasテクニックを習得できるpandas64本ノック
2021/10/26 (最終更新日: 2021/10/26)
# はじめに
機械学習を勉強しようと思ったらまずpandasの基礎を固めるのが機械学習エンジニアへの近道!
そこでpandasを勉強しようと思い調べるとpandas100本ノックなるものがたくさん出てきますね。私もいくつか利用してpandasを学んできましたが、問題数を100本に満たすために同じような問題やpandasではないライブラリの問題が混ざったりしていたので今回は純粋なpandasノックを作成してみました。
全部で64問。
問題はipynbファイルにて作成しております。
各問いには見出しがついているので辞書のようにpandasでわからないことを調べることもできるように作りました。問題はgithub上(以下URL)に公開しています。
自分の学習環境上にcolneして利用していただければと思います。
https://github.com/gotty21/basic_pandas-64-knocks# 使い方
cloneしてきたフォルダ内には以下が入っています。|名前|説明|
|—-|—-|
Aiohttpで作るSimple Web Server
前回、[Python Asyncio 入門](https://qiita.com/sand/items/0e445a13d81d20ea33c3)という記事を書きました。それはAsyncioの互換ライブラリ **Aiohttp**のhttpクライアント機能を使ったサンプルでの説明でした。
**Aiohttp**にはFlaskに似たサーバ機能もあります。Flaskは同期的プログラミングですが、Aiohttpは非同期的プログラミングで速度の点で優れています。
[Asyncio公式サイト](https://docs.python.org/ja/3/library/asyncio.html)
[aiohttp公式サイト](https://docs.aiohttp.org/en/stable/)
以下のサンプルはaiohttp公式サイトのものを少し修正しして、2つのroutes、2つのHandlersにしてみました。プログラムの流れは説明不要でしょう。厳密な理解をしたいときは公式サイトをご確認ください。
“`python:simple.py
from aiohttp import
Kerasを使って学べるレシピの紹介
# はじめに
Axrossを運営している松田です。
**[Axross](https://axross-recipe.com/recipes)**は、エンジニアの”教育”と”実務”のギャップに着目し、「学んだが活用できない人を減らしたい」という想いで、ソフトバンク社内起業制度にて立ち上げたサービスです。
現役エンジニアによる実践ノウハウが”レシピ”として教材化されており、Pythonプログラミングを活用して実業務に近いテーマで、動くものを作りながら学ぶことができます。
Axross:https://axross-recipe.com
公式Twitter:https://twitter.com/Axross_SBiv
![Axrossアイキャッチ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620853/9f500e0e-a759-20e2-bb8b-480bbcfaaf9b.png)今回は、深層学習に適したPythonライブラリKerasの特徴を紹介し、Axrossのサービスで学べる**K
DobotMagicianをpythonで動かす
こちらのライブラリを使用して,PythonからDobot Magicianを動作させたいと思います.
https://github.com/luismesas/pydobot
### 環境
“`
$ lscpu
Architecture: x86_64$ cat /etc/os-release
NAME=”Ubuntu”
VERSION=”20.04.3 LTS (Focal Fossa)”
“`### install
以下コマンドでpipからインストールします.
“`
pip3 install pydobot
“`自分の環境では以下のバージョンがインストールされました.
“`
$ pip3 show pydobotName: pydobot
Version: 1.3.2
Summary: Python library for Dobot Magician
Home-page: https://github.com/luismesas/pydobot
Author: Luis Mesas
Author-email: luismesas@gmail.
#3 Azure Databricks を使ってみよう 【格納編】
## 【 Azure Databricks ETL編 その3 】
### 概要
Azure Databricks を使ってみよう! ということで、以下の3ステップで簡単に說明します。
1. [【環境準備編】](https://qiita.com/turupon/items/5a5782a62c24ccb3b3b5):Azure CLI から Azure Databricks 環境を作成します
2. [【抽出変換編】](https://qiita.com/turupon/items/21e2ca80ca497886d99d):Databricks から ADLS Gen2 のデータを抽出し、変換します
3. [【格納編】](https://qiita.com/turupon/items/50f3e12222fa2f7d4144):Databricks で ETL されたデータを ADLS Gen2 に格納します今回は 【格納編】の說明となります。 Databricks の Notebook を使用していきます。
– Azure Databricks
–
#2 Azure Databricks を使ってみよう 【抽出変換編】
## 【 Azure Databricks ETL編 その2 】
### 概要
Azure Databricks を使ってみよう! ということで、以下の3ステップで簡単に說明します。
1. [【環境準備編】](https://qiita.com/turupon/items/5a5782a62c24ccb3b3b5):Azure CLI から Azure Databricks 環境を作成します
2. [【抽出変換編】](https://qiita.com/turupon/items/21e2ca80ca497886d99d):Databricks から ADLS Gen2 のデータを抽出し、変換します
3. [【格納編】](https://qiita.com/turupon/items/50f3e12222fa2f7d4144):Databricks で ETL されたデータを ADLS Gen2 に格納します今回は 【抽出変換編】の說明となります。Databricks の Notebook を使用していきます。
– Azure Databricks
–
【AWS】PynamoDBを使ってみる
# はじめに
おじさんは、AWSのお勉強しています。先日購入した書籍「動かして学ぶ!Pythonサーバレスアプリ開発入門」 を読んでいたら PynamoDBを使っていたのですが、そこで躓いてしまいました。書籍のソースコードは公開されています。(翔泳社の書籍の案内ページからリンクもあります)。
PynamoDBについて、下記のサイトをざっと読みました。
NoSQLなるもので、従来のrelational DBと異なるそうです。https://koh0214.hatenablog.com/entry/pynamoDB
# pynamoDBを動かした
## 準備
pynamodb そのものは普通に pip で入ります。
https://pynamodb.readthedocs.io/en/latest/
## DynamoDBLocalの用意
pynamodb は DynamoDBというサーバと接続して使うもののようで、まずサーバとして動くDBが必要です。
ローカルでDBを動かすためにはいくつか方法がありますが、ここではDynamoDB Local というものを動か
二重降下の例
#1. 二重降下の例
論文 Two models of double descent for weak features (https://arxiv.org/abs/1903.07571) の例
https://github.com/tohmae/double-descent-sample/blob/main/sample.ipynb$ \beta = (\beta_{1},\beta_{2},….,\beta_{D}) \in \mathbb{R}^D : 固定$
$ x = (x_{1},x_{2},….,x_{D}) : 正規分布$
$ \sigma\epsilon : ノイズ $
$ y = x^* \beta + \sigma\epsilon = \sum_{j=1}^{D} x_{j} \beta_{j} + \sigma\epsilon$###初期設定
“`
D=200
train_num=80 #学習データの数
test_num=20 #テストデータの数
sigma = 1/5 #ノイズの標準偏差
b = 2 * np.random.rand(D
幾何分布を数学的にもpythonでもアプローチする
統計関係が続いているのですが、統計検定に受かるまで続くんじゃないかと思っています笑
基礎は理解している(と思っている)ものの、「幾何分布」がいまいち自分の中で定着しなかったので書きます。
急に「平均は $\frac{1}{p}$ やねん」とだけ書かれているテキストも多いのが原因かなと思い、数学的な導出とpython での実装をミックスした自分専用の「幾何分布大全」でも作ろうかと。
自分のテーマとして「読むだけでもなんとなく理解できる」ことをいつも目的としているため、文章多めかも。# 前提
幾何分布は「ある事象(確率p)が初めて観測されるまでの期待値とかその確率はどのくらい?」ということを知りたいことが背景にあります。統計検定では「営業している人が初めてちゃんと受け答えしてくれる確率を求めよ」みたいなのがありました。
それ以外にも初めてコインで裏が出る期待値とか、色々実生活の思考実験などしても面白そうですね
(ちなみに、幾何分布は離散ですが、連続型を考慮すると指数分布というものになります。ここでは省略)# 幾何分布の式
では、実際に具体例をみながらイメージをさらに固めて
Djangoレッスンメモ
Djangoを学習するにあたり、YouTubeの動画を参照しました。
以下の二つが検索上位にヒットし、内容も分かりやすかったように思います。
レッスンで学んだキーポイントを挙げておきます。Djangoの基礎を教えてくれます。DjangoのViewはなんでそういう名前にしちゃったかな。役割としてはRequest Handlerなんだけど、って言ってたような気がします。
紹介していたdjango-debug-toolbarが便利そうでした。
こちらはアンケートアプリを題材に、最初のインストールから、簡単なアプリができるまで解説してくれるので、Djangoの動き、開発の流れをつかむのに役に立ちました。
といっても、今日から学び始めたので、まだまだこれからです。
この記事も随時アップデートしていこうと思います。
M1macにmatplotlibを入れる
# はじめに
M1macでmatplotlibをimportしたらエラーが出る
numpy関連のエラーらしい
TensorFlow-macosをインストールしてあるからnumpyでエラーが出るのはおかしい
調べてみたら追加でパッケージをインストールしないといけないらしいのでまとめる# matplotlibを使えるようにする
1. numpyをインストール
1. matplotlibをインストール
1. libjpegをインストール1は既にnumpyを入れてる人は不要
ただし私はTensorFlow-macosをインストールした際に一緒にインストールしたものなので、それ以外の方法でインストールした人は知らない# numpyをインストール
私の[この記事](https://qiita.com/he-mo/items/1ceda6e0c1465c6b18ad)を参考にtensorflow-macosをインストール
そしたら一緒にnumpyがインストールされる
# matplotlibをインストール
普通にpipでインストール
“`
pip install matpl
【Python3】0から作るPython初心者プログラミング【02】-じゃんけんプログラムをクラス化する-
#【ご挨拶】こんにちは! ぬかさんエンジニアリングです。(2回目‼)
前回の投稿にありがたいことにコメントを頂きまして、じゃんけんプログラムをより簡潔に書ける方法を教えていただきました。
今回はそれらの内容も含めてじゃんけんプログラムを**関数化**、そして**クラス化**というように**進化**させていく内容になっています!
普段クラスから作っているという方も、順を追ってみていくことで**関数とクラスの便利さに気づけるような構成**になっていますので最後まで見て頂けると嬉しいです!
**LGTM**も是非宜しくお願い致します‼#本シリーズ初めての方へ
【趣旨】
Python初心者プログラマーが入門書で学ん
GoogleAnalytics のRetention viewをPythonで模倣する
# なにがしたいか
GoogleAnalyticsからの出力を得てレポート化する案件があり、無理やりスクリプト化しました。
Imageとして出力して終わりでもよかったのですが、グラフ中にキャプションを入れたり、微妙にいじる必要があったので、一度数値に落として再描画するという中途半端なソリューションになってしまいました。以下のビューをレポートに入れたい、ただそれだけです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146939/21ea721e-e8ab-6005-d251-226b7c0107b1.png)
バージョンはGA3用になります。
# そんなやり方でよいのか?
だったら、最初からログ分析しろ、ってところですが、このソリューションの良いところは、
– Google Analyticsのretention計算の結果と完全に一致する
– 上記のスナップショットを一時的に保存できる
– 見た目をいじれる
– 場合によっては後処理を加えられる(使いにくいが)などで
【AtCoder解説】PythonでABC224のA,B,C,D問題を制する!
**ABC224**の**A,B,C,D問題**を、**Python3**でなるべく丁寧に解説していきます。
ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。
– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増えるご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**までどうぞ!
**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: [https://marshmallow-qa.com/u2dayo]**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**よかったら**LGTM**や**拡散**していただけると
Webスクレイピングツール5選 | Webクローラーを簡単評価(4)
Webスクレイピングツールは、Webサイトで必要な情報を取得するように開発されています。前回はscrapestormなどのスクレイピングツールを紹介しました。今回は他の五つのWebスクレイピングツールを紹介します。
##1) Bright Data (formerly Luminati Networks)
Bright Dataの次世代データコレクターは、コレクションのサイズに関係なく、1つのダッシュボードで自動化およびカスタマイズされたデータフローを提供します。eComのトレンドやソーシャルネットワークデータから競争力のあるインテリジェンスや市場調査まで、データセットは、お客様のビジネスニーズに合わせて調整されます。
**特徴:**
・データ収集プロセスを完全に制御できる
・数分で信頼できるデータフローを取得する
・データ収集はシンプルで動的であり、ターゲットサイト側の変更に対応できる
・コーディングの経験や複雑なデータ収集インフラストラクチャは必要なし
・24時間年中無休のカスタマーサポート
リンク:https://brightdata.com/products/data-coll
Pythonのタプルについてまとめてみた
### 今回のお題
今回は、Pythonのタプルという概念について取り上げます。私が経験している他の言語ではあまり馴染みがなかったので筆を取ったというのが本音で基本的には自分用のメモですが、私と同じように他言語から流れてきたPython初学者の方の参考になれば幸いです。
### 目次
– タプルの概要
– 色々なタプル
– タプルでできないこと・できること
– タプルとリストの使い分け### タプルの概要
タプルは何かを一言で説明すると、「後から要素を変更できないリスト」になります。listやintなどと同じく、tupleというクラスも存在します。
タプルには配列とは異なり要素を()で区切るという特徴がありますが、逆に言えば他の操作はリストと同じように行えます。
“`python
# タプルの生成
tuple1 = (‘a’, ‘b’, ‘c’)# 要素の取り出し
print(tuple1[0])# for文
for str in tuple1:
print(str)
“`
### 色々なタプル
色々な、というわかりにくいタイトルですが、要素の数などによ
文字列をBoolに変換
## bool()は使いづらい
文字列型を変換したい場合、何か値が入っていればTrueが返ってくるconfigparserと一緒に使おうとして、確かダメだったなーということで今更ながら関数作った。
## 自作関数で解決
最後のelseは不要“`Python
def get_bool(input: str) -> bool:
if input.lower() == ‘true’:
return True
if float(input) >= 0:
return True
else:
return False
“`
bookmeterのAPIをつくってみた。 #1 (データの取得)
#はじめに
昔は図書館の本すら、自由に読めなかったらしいが、今は自由に読めるし、ブックオフもあるし、更に bookmter もある。恵まれた時代である。僕も bookmeter を愛用させていただいてる。美しいデザイン、知的なユーザー、痒いところに手の届く機能。人類の幸福に多大な貢献をしている bookmeter だが、だからこそ、なぜこれが出来ないのかと思うことがある。例えば、「読みたい本」というブックマークのような機能があって、素晴らしいのだが、**検索ができない**のである。VIM はヘルプすら検索できるのに。同様に「読んだ本」や「積読」も検索できない。また、**タグがない**ので、バラバラに本がある印象で、どうにもまとまらない。しかし不満ばかり言っても仕方ない。使う側が工夫すれば良いのである。モンスターカスタマーでは、素晴らしい運営者も疲れて辞めてしまうかもしれない。
#したいこと
– 「読みたい本」などの検索
– 本のタグ付け
– …まずは、上の2つをやりたい。他にも色々できたら。
#本のデータの取得
まずは本のデータを取る。本のデータの一覧は同じ形式なので
pipインストール手順
#環境
windows10
python3.9
エディタ VSCode#事象
pythonをインストールしたが、pipがインストールできていなかった。
[No module named pip]とあるが、python3.4以上は、pipは自動インストールでは?と非常に悩んだ。
調査するとpowerShellは最新のバージョンにアップデートしてみると良いとあったので、
最新にしてみた。python3.9 の保存場所は以下。
C:\Users\xxx\AppData\Local\Programs\Python\Python39\python.exe“`python:コマンドプロンプト
>python –version
Python 3.9.2> py -m pip install
C:\Users\xxx\AppData\Local\Programs\Python\Python39\python.exe: No module named pip
PS C:\Users\xxx\AppData\Local\Programs\Python\Python39> pip lis
PymatgenでABINIT入力ファイルを作成し、自動実行する
##はじめに
###この記事で書くこと
Pymatgenには、Quantum EspressoやABINITをはじめとする、各種計算用の入力ファイルを作成する機能が付いているが、使い方についての情報がほとんどなく、公式ドキュメントも、「もともと使える人にはわかる」レベルで、導入がなかなか難しかった。そこで、この文章を書いておくことにした。入力ファイルを作成する部分だけのつもりでいたが、せっかくなので、cifファイルのコレクションをもとに、自動で計算を実行してもらうことにした。実際、世に出回っているcifファイルの質はまちまちで、「とりあえず雑に最適化を一回噛ませたほうが使いやすい」というシチュエーションはよくある。とりあえず拾い集めてきたcifファイルをまとめてフォルダに保存しておいて、サクッと一回計算を回しておく、くらいの使い方ができればいいだろう。ここではABINITを使うが、Quantum Espressoでも、ほとんど同じ使い方ができる。###使用するバージョン
pymatgen 2022.0.8
2020.x.xくらいのバージョンだと関数の呼び出し方が違っていてエラーが起