Mik*_*ike 4 python datetime pandas
我有一个 Pandas 数据框“df”,其中包含一个 datetime.time 类型的“DateTimes”列。
该列的条目是一天的小时数:
00:00:00
.
.
.
23:59:00
Run Code Online (Sandbox Code Playgroud)
秒被跳过,它按分钟计数。
如何按小时选择行,例如 00:00:00 和 00:01:00 之间的行?
如果我试试这个:
df.between_time('00:00:00', '00:00:10')
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,即索引必须是 DateTimeIndex。
我将索引设置为:
df=df.set_index(keys='DateTime')
Run Code Online (Sandbox Code Playgroud)
但我得到了同样的错误。
我似乎也无法让 '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')
Run Code Online (Sandbox Code Playgroud)
请注意,索引必须是 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)
Run Code Online (Sandbox Code Playgroud)
(仅当您想在将其设置为索引后删除原始列时才需要删除)
| 归档时间: |
|
| 查看次数: |
8011 次 |
| 最近记录: |