Python timedelta将panda中的0时间替换为字符串



我在一列中有许多时间记录,它们看起来像:

Time 
0 days 04:19:03      
0 days 00:25:28     
0 days 08:15:03 
0 days 00:00:00

有一些00:00:00时间记录与我的时间条目混杂在一起。我想用"不完整"来代替它们。但我不确定如何做到这一点,从我搜索的内容来看,这不像是一个常见的用例。我尝试过下面的代码,但它似乎无法识别0天00:00:00需要替换,因为值保持不变。我认为这是因为timedelta不是一个字符串,但我不太确定如何设置。

部分代码:

df.loc[:,'total_time'] = df.loc[:,'time_total'].replace('0 days 00:00:00','incomplete',inplace=True)

首先,我要确保您的'Time'列的类型为Timedelta

df['Time'] = pd.to_timedelta(df['Time'])

然后您可以使用mask

df.mask(df == pd.Timedelta(0), 'incomplete')
Time
0  0 days 04:19:03
1  0 days 00:25:28
2  0 days 08:15:03
3       incomplete
​

尝试使用pandas timedelta对象。像这样:pd.Timedelta(0)

最新更新