python - Python Pandas:从时间列中删除 0 天后缀
问题描述
我有一个包含列时间的数据框。时间列的数据类型是timedelta64[ns]
。时间列包含 0 天作为后缀。时间列如下所示:
df['time']:
0 days 00:00:00
0 days 00:30:00
0 days 01:00:00
0 days 01:30:00
0 days 02:00:00
我正在尝试按照现有线程(删除 timedelta 对象中的天数)从列中删除 0 天。但是,它没有从列中删除 0 天。谁能指导我如何摆脱 timedelta64 数据类型列中的 0 天?
解决方案
你可以尝试这样的事情:
df['time'] = pd.Series([pd.Timedelta(minutes=i) for i in range(0,100,5)])
df['time'] = df['time'].astype(str).str.split('0 days ').str[-1]
df
输出:
time
0 00:00:00
1 00:05:00
2 00:10:00
3 00:15:00
4 00:20:00
5 00:25:00
6 00:30:00
7 00:35:00
8 00:40:00
9 00:45:00
10 00:50:00
11 00:55:00
12 01:00:00
13 01:05:00
14 01:10:00
15 01:15:00
16 01:20:00
17 01:25:00
18 01:30:00
19 01:35:00