python dataframeを指定の行数分だけ切り抜く方法

python サンプル学習
この記事は約2分で読めます。

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で関数化して抽出しよう

コメント

タイトルとURLをコピーしました