python pandasの使い方、dataframeをcsvやexcelでエクスポートするときに
必要な部分だけ抽出して書き出す技を紹介します。コピペで出来ます
本日の伝えたいこと
✔ python pandasでdataframeを特定の区間だけ抽出するときは、 ilocを使う
困ったこと
Pythonで時系列のビッグデータ解析を行ったとき(耐久データなど)、
どうでもいい区間を除き、解析の必要がある部分だけcsvで書き出し、
取引先に提供したい
内容
pandasの機能を上手に使うと、特定行数のみ切り抜きが可能となる
メリット
ビッグデータから必要な部分だけを切り抜きでき、作業効率が上がる
解決方法
下記書式に合わせて行数を指定するだけで簡単にできる。
トリガー検出(なにかのフラグが0から1になった瞬間)の手前xx秒、後ろxx秒を抽出。
といった使い方が現場でよく使われる
下記sampleソースでは、引数に下記を与えることで、
切り抜き後のdataframeを返し、csvとして、切り抜いたcsvを書き出す内容になっている
・dataframe
・切り抜き開始行数
・切り抜き終了行数
# -*- coding: utf-8 -*-
import pandas
def dataframe_cutter(df, start, end):
df = df.iloc[int(start):int(end), :]
df.to_csv(“cut.csv”, encoding=”cp932″)
return df
実際の現場で求められること
耐久データのビッグデータ解析は技術をやる以上必ず付き物だ。
いかに効率よく無駄な部分を省き。必要な部分だけを解析できるかが技術力の発揮部分である。
1行で済んでしまう簡単なロジック(探すのはものすごく苦労したが)なので
ぜひうまく使ってみてほしい
まとめ
✔ python pandasでdataframeを特定の区間だけ抽出するときは、 ilocで関数化して抽出しよう
コメント