我的数据帧如下所示:
DATE INTV Y
2005-11-10 00:00:00.000 0
2005-11-10 00:30:00.000 0
2005-11-10 01:00:00.000 0
2005-11-10 01:30:00.000 1
2005-11-10 02:00:00.000 1
2005-11-10 02:30:00.000 0
...
2005-11-10 22:00:00.000 1
2005-11-10 22:30:00.000 3
2005-11-10 23:00:00.000 3
2005-11-10 23:30:00.000 0
我想像这样重新映射INTV列:
00:00:00.000 = 1
00:30:00.000 = 2
01:00:00.000 = 3
01:30:00.000 = 4
...
23:00:00.000 = 47
23:30:00.000 = 48
我试过使用字典和.map函数,但效果并不理想。你知道吗
按字典使用^{} ,对于相同的格式,使用^{} 并按
str[0]
选择第一个列表:细节:
另一个改进的josh解决方案:
如果今天添加了仅解析时间,则详细信息-日期不重要:
您应该能够定义一个“重映射”函数来进行所需的更改,然后将其应用于INTV系列。你知道吗
假设INTV列是
datetime
列,那么这很简单假设它是一个
datetime.time
列,由于pandasdt
不支持datetime.time
对象,它就变得有点棘手了在这里,我们只需要从
Date
和INTV
列中创建一个虚拟的datetime
对象,然后按照上面的方式提取小时和分钟。你知道吗相关问题 更多 >
编程相关推荐