首页 > 解决方案 > 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 天?

标签: pythonpython-3.xpandas

解决方案


你可以尝试这样的事情:

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

推荐阅读