1
私はPython 2.5
とpandasバージョン0.9.0
で作業しており、DataFrameから日付の範囲を削除する必要があります。 私は次のコードでこれを実行しました。Python:pandasのDataFrameからデータ範囲を削除するより良い方法はありますか?
import pandas as pd
import numpy as np
import datetime
date1 = datetime.datetime(2009,06,01,10,0)
date2 = datetime.datetime(2009,06,02,05,00)
dates = pd.date_range(start=date1,end=date2,freq="30min")
df = pd.DataFrame(np.random.rand(len(dates), 1)*1500, index=dates, columns=['Power'])
date3 = datetime.datetime(2009,06,01,16,0)
date4 = datetime.datetime(2009,06,01,23,0)
df1 = df[df.index <= date3]
df2 = df[df.index >= date4]
df_new = pd.concat([df1,df2])
すると、同じ結果を得るためのより良い方法はありますか?
私はこのような何かが仕事と期待していた。
df_new2 = df[df.index <= date3 | df.index >= date4]
は、しかし、私は次のエラーを取得する:
TypeError: unsupported operand type(s) for |: 'datetime.datetime' and 'DatetimeIndex'
各条件の前後に括弧を入れます。df_new2 = df [(df.index <= date3)| (df.index> = date4)] –