私は、列 "値"と列 "タイムスタンプ"を持つパンダのデータフレームを持っています。今私は、タイムスタンプのしきい値に応じて行をフィルタリングしたいと思います。私は、次のことを行っている:列のしきい値に従ってパンダのデータフレームの行を選択
idx = df.index[df['timestamp'] >= start and df['timestamp'] <= end]
df = df.loc[idx]
df
は、データフレームであるとstart
とend
は二つの整数です。
どういうわけか、これは機能しません。
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
EDIT:さらに問題があります。 startは1つの値(1つの行、1つの列)を持つデータフレームです。 Endは、複数の行と1つの列のみを持つデータフレームです(ただし、最後の行にのみ関心があります)。その結果
ValueError: Can only compare identically-labeled Series objects
mask=(df['timestamp'] >= start & df['timestamp'] <= end)
、:私は次のことを行うと、私はその後、私はエラーを取得していますprint(df[column] >= start.iloc[0])
をしようとすると
print(end.iloc[-1])
print(start.iloc[0])
私は次のように出力
1508504026077
start_timestamp_milli 1508502348946
Name: 0, dtype: int64
を取得していますまた失敗する。
私は上記のポストに編集を行っています。 ;) – machinery
@ machinery'df [column]> = start.iloc [0] [0] ' – Wen