<分区> 分区>
我有一个 pandas df,它在同一 列 中包含不同的时间戳和 strings。示例如下:
一旦时间过了午夜,数据就会吐出这个奇怪的 351 代码,然后恢复到 12 小时时间。因此,第 5 行 的时间实际上是 12:01:42,第 8 行 的时间是 13:00:00。
我可以向这些时间戳添加 12 小时,但我需要删除前 3 个值。
我尝试通过索引适当的时间(午夜之后)并应用 [x[3:] for x in df] 来做到这一点。但这会删除此列中的字符串。所以 AA 和 BB 也被删除了。
我对如何在不删除未指定值的情况下实现这一点有些困惑。是否可以在午夜后选择适当的时间(仅时间戳),删除 351 并添加 12 小时而不丢失任何数据?
import pandas as pd
k = 5
N = 10
d = ({'Time' : ['18:00:00','AA','BB', '23:00:00','AA','35112:01:42','AA','AA','35113:00:00','AA'],
'Events' : ['ABC','DEF','GHI','JKL','ABC','DEF','GHI','JKL','DEF','JKL'],
'Number1' : ['xx','xx',1,'xx','xx','xx',2,'xx', 'xx', 1]})
df = pd.DataFrame(data=d)
输出:
Events Number1 Time
0 ABC xx 18:00:00
1 DEF xx AA
2 GHI 1 BB
3 JKL xx 23:00:00
4 ABC xx AA
5 DEF xx 35112:01:42
6 GHI 2 AA
7 JKL xx AA
8 DEF xx 35113:00:00
9 JKL 1 AA
预期输出:
输出:
Events Number1 Time
0 ABC xx 18:00:00
1 DEF xx AA
2 GHI 1 BB
3 JKL xx 23:00:00
4 ABC xx AA
5 DEF xx 24:01:42
6 GHI 2 AA
7 JKL xx AA
8 DEF xx 25:00:00
9 JKL 1 AA
