datetime.timeタイプの列「DateTimes」を持つパンダデータフレーム「df」があります。
その列のエントリは、1日の時間です。
00:00:00
.
.
.
23:59:00
秒はスキップされ、分単位でカウントされます。
たとえば、00:00:00から00:01:00までの行など、時間ごとに行を選択するにはどうすればよいですか?
私がこれを試してみると:
df.between_time('00:00:00', '00:00:10')
インデックスはDateTimeIndexでなければならないというエラーが表示されます。
インデックスを次のように設定します。
df=df.set_index(keys='DateTime')
しかし、同じエラーが発生します。
'loc'も機能しないようです。助言がありますか?
これがあなたがやろうとしていることの実際的な例です:
times = pd.date_range('3/6/2012 00:00', periods=100, freq='S', tz='UTC')
df = pd.DataFrame(np.random.randint(10, size=(100,1)), index=times)
df.between_time('00:00:00', '00:00:30')
インデックスはDatetimeIndexタイプである必要があることに注意してください。
日付/時刻の列があるとのことですが。問題はおそらく、列がこのタイプではないことです。そのため、インデックスとして設定する前に、まず列を変換する必要があります。
# Method A
df.set_index(pd.to_datetime(df['column_name'], drop=True)
# Method B
df.index = pd.to_datetime(df['column_name'])
df = df.drop('col', axis=1)
(ドロップは、インデックスとして設定した後に元の列を削除する場合にのみ必要です)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加