如何在大熊猫中选择 Timedelta
索引 Timedelta
0纳秒的值 切片?
更具体地说,为什么在下面的例子中,选择使用的是 slice(None,'10:00:00.000000000')
给予所有条目,而不是只给第1个条目?
import pandas as pd
index = pd.Index([pd.Timedelta('10:00:00.000000000'),
pd.Timedelta('10:00:00.000000001'),
pd.Timedelta('10:00:00.000000111'),
pd.Timedelta('10:00:00.000000777')])
dd = pd.DataFrame(index=index, data={'x':range(len(index))})
dd.loc[slice(None,'09:59:59.999999999'),:] # works as expected
# Empty DataFrame
# Columns: [x]
# Index: []
dd.loc[slice(None,'10:00:00.000000000'),:] # unexpected result :-(
# x
# 10:00:00 0
# 10:00:00.000000 1
# 10:00:00.000000 2
# 10:00:00.000000 3
dd.loc[slice(None,pd.Timedelta('10:00:00.000000000')),:] # works as expected
# x
# 10:00:00 0
dd.loc[slice(None,'10:00:00.000000001'),:] # works as expected
# x
# 10:00:00 0
# 10:00:00.000000 1
谢谢你的帮助