条件に基づいてパンダデータフレームの行をトリミング

trim last rows of a pandas dataframe based on a condition – StackOverflow

import io
import pandas as pd


strings = """idx  x  y
0    a  3
1    b  2
2    c  0
3    d  2
4    e  5"""

df = (
    pd.read_csv(io.StringIO(strings), sep='\s+')
    .assign(t=lambda df: df['y'].eq(0).idxmax())
    .query('ilevel_0<=t')
    .drop('t', 1)
)
df
    idx x   y
0   0   a   3
1   1   b   2
2   2   c   0
import numpy as np


df = pd.read_csv(io.StringIO(strings), sep='\s+')
idx = (df['y'].to_numpy()==0).argmax()
df.iloc[:idx+1]
    idx x   y
0   0   a   3
1   1   b   2
2   2   c   0
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください