如何解决如何从Datetime中提取一天中的时间pd.Timedelta或datetime.time?
给出一个包含带有A [0.18,0.14,0.22]
B [0.82,0.78,0.86]
C [0.03,0.01,0.04]
D [0.17,0.13,0.2]
列的数据框,如下所示:
pd.Datetime
如何正确获取一天中的import pandas as pd
df = pd.DataFrame({
'name': ['Alice','Bob'],'starttime': ['2020-03-20 15:05:00','2020-03-20 15:16:00'],})
df['starttime'] = pd.to_datetime(df['starttime'])
时间?
我知道可以使用pd.TimeDelta
提取python datetime.time
,但这对我没有帮助,因为我想使用pandas数据类型(即df['starttime'].dt.time
)来保持时间比较清晰(我必须做很多比较,我正在寻找干净的代码)。例如,pd.TimeDelta
不起作用。它会引发错误df['starttime'].dt.time > pd.TimeDelta(13:00)
,这很有意义。
对于实现这一目标,我有两个想法:
-
TypeError: Cannot compare type Timedelta with type time
:这看起来“不错”,但我不确定其中的含义。我怀疑它将控制时间在一年中的那两天,即夏季和冬季。我只想忽略那些日子,无论一年中的哪一天,上午11点都是11点。 -
df['starttime'] - df['starttime'].dt.floor('1D')
:看起来有点黑,但我认为它给了我想要的东西。
这种方法合适吗?有没有一种方法可以实际代表熊猫时间?对于我所看到的,有pd.to_datetime(df['starttime'].dt.time.astype(str)
,Datetime
和Timedelta
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。