データ分析に3年従事したうえで目から鱗だったpythonの技法
バックグラウンド
現在、大学院でシミュレーションをメインに研究しています。
大学時代から、pythonでデータ分析などを行っており、やりたいことはできてきたつもりでしたが、この度Python 3 エンジニア認定データ分析試験を受験するために、教本を購入しました。
大体は知っている内容でしたが、今まで知らなかったこともあったので、備忘録としてまとめました。もっとなんかいい書き方とかあるやろ..と思ってる方向けの内容かなと思います。
包括的・体系的に知りたい方は、下記の本をチェックしてみてください。
「Pythonによるあたらしいデータ分析の教科書」(翔泳社)
著者:寺田 学、辻 真吾、鈴木 たかのり、福島 真太朗(敬称略)
目から鱗だったpythonの技法
loggingモジュール
バッチ処理などでprint
を多用すること、あるあるですよね。
代替えの手段としてログを使用します。ポイントはログレベルを変えれることかな?
ログレベルは下記の5段階、下に行くほど重要度が高い。
- debug
- info
- warning
- error
- critical
以下、例文
この例ではinfo以上が出力される。
import logging
logging.basicConfig(
filename = 'test.log' #ログファイル名の指定
level = logging.INIFO, format = '%(asctime)s:%(levelname)s:%(message)s' #ログレベルの指定
)
コーディング規約
pythonには標準となるコーディング規約があるみたいです。
例えば、複数モジュールをimport
する際には、別々に書くとのこと。
import sys, os #PEP8 違反
#PEP8に準拠した書き方↓
import sys
import os
ここまでは、なんとなく知ってる..って感じでしたが、これをチェックしてくれるpycodestyle
なるものがあるんですね!知らなかった。。
pip install pycodestyle
pycodestyle main.py
コーディング規約のプログラムを修正できます。
定義したけど、この変数使ったっけ..?
表題の通りです。
これをチェックするものにflake8
なるものがあります。
pip install flake8
flake8 sample.py
あぁでもない。こうでもない。としているうちに、使っていない変数が増えてしまう時に有効です。
pandas describe
pandasのDataFrameにおける統計量はまるっとチェックできるものがあるみたいです。
それが、describe()
メソッド。(メソッドの使い方あっているかな。。)
下記に例を示します。
df.describe() # df : DataFrame
これで、平均や最大・最小値を勝手に計算してくれます。
Jupyter Notebook マジックコマンド
%%や%ではじまるマジックコマンドがありみたいです。使えそうなのは、%%timeit
`コマンドで、セル全体の計算時間を出力してくれます。
他にも、色々あるみたいです。参考までに下記を列挙します。
スクレイピングフレームワーク:Scrapy
pythonでのスクレイピングは、request
や、BeautifulSoup4
,selenium
などがよく使われますが、大量のページをスクレイピングしたい場合など、Scrapy
がいいみたいです。
Author And Source
この問題について(データ分析に3年従事したうえで目から鱗だったpythonの技法), 我々は、より多くの情報をここで見つけました https://qiita.com/dsduoa31/items/4a8960e0ad07495d908c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .