1

時系列値が非取引期間全体で繰り返される非取引日 (例: 週末) を含む、2015 年全体にわたる分単位のユーロ-米ドル為替レートの時系列があります。

日曜日の午後 23 時から金曜日の午後 23 時までのデータのみを選択して、そのような期間を破棄する必要があります。

Pandas の解決策はまだ見つかりません (1 日の中で時間を選択する方法と、日を選択する方法を知っています)。単純に時間を 1 時間ずらして、営業日のみを選択することもできますが、これは最適なソリューションではありません。

これを達成する方法について何か考えはありますか?

データの例:

Local time,              Open,    High,    Low,     Close,   Volume
02.01.2015 22:58:00.000, 1.20008, 1.20016, 1.20006, 1.20009, 119.84
02.01.2015 22:59:00.000, 1.20009, 1.20018, 1.20004, 1.20017, 40.61
02.01.2015 23:00:00.000, 1.20017, 1.20017, 1.20017, 1.20017, 0
02.01.2015 23:01:00.000, 1.20017, 1.20017, 1.20017, 1.20017, 0
...
04.01.2015 22:58:00.000, 1.20017, 1.20017, 1.20017, 1.20017, 0
04.01.2015 22:59:00.000, 1.20017, 1.20017, 1.20017, 1.20017, 0
04.01.2015 23:00:00.000, 1.19495, 1.19506, 1.19358, 1.19410, 109.4
04.01.2015 23:01:00.000, 1.19408, 1.19414, 1.19052, 1.19123, 108.12
...
4

1 に答える 1

1

pd.DataFrame dfとを考慮するpd.tseries.index.DatetimeIndex tidx

tidx = pd.date_range('2010-01-01', '2011-01-01', freq='H')
df = pd.DataFrame(np.ones((tidx.shape[0], 2)), tidx, columns=list('AB'))

フィルタリングする一連の値を構築できます

day_hour = (((tidx.weekday + 1) % 7) * 100) + tidx.hour

金曜日の 23:00 より前の値を特定する

before_friday = day_hour <= 523

そして日曜23時以降

after_sunday = day_hour >= 23

df上記の条件で絞り込む

df[before_friday & after_sunday]
于 2016-10-13T19:19:47.483 に答える