【发布时间】:2021-06-20 23:53:12
【问题描述】:
需要根据条件向数据框添加新行。
当前数据框:
在这个数据框中有 4 列。我想做的是检查“时间”列并检查每个夜班午夜 12 点的最接近值,并添加两个新行,分别为 11:59:59 和 00:00:01,其值与最近的数据点。
例如:03-01 Night 的最接近值(到 12PM)是 21:46:54。所以需要添加两行,
W25 03-01 Night RUNNING 23:59:59
W25 03-01 Night RUNNING 00:00:01
所以最终预期的数据框应该是这样的:
样本数据:
data={'Machine': {0: 'W5', 343: 'W5', 344: 'W5', 586: 'W5', 587: 'W5'}, 'State': {0: 'start', 343: 'STOPPED', 344: 'RUNNING', 586: 'STOPPED', 587: 'MAINT'}, 'Day-Shift': {0: '03-01 Night', 343: '03-01 Night', 344: '03-01 Night', 586: '03-01 Night', 587: '03-01 Night'}, 'Time': {0: Timestamp('2021-03-01 21:00:00'), 343: Timestamp('2021-03-01 22:16:54'), 344: Timestamp('2021-03-01 23:16:54'), 586: Timestamp('2021-03-01 23:48:45'), 587: Timestamp('2021-03-02 02:28:54')}}
非常感谢您的支持!!!!!!
【问题讨论】:
-
您是否有可以使用的完整日期时间对象,我发现您的列中缺少年份?如果您有正确格式化的日期时间对象,那么夜晚/白天也是多余的。
-
@Manakin 你有什么办法解决这个问题吗?
标签: python pandas dataframe datetime pandas-groupby