我有一个df[‘elapsed_time’]列,它是‘NULL’和时差的组合:
df[‘已用时间’]
‘空’
0天00:05:08
0天01:10:50
‘空’
我想为任何超过5分钟的时间差创建一个基于该列的分类变量。我设置了一个条件函数来根据观察进行过滤,但我想我可能需要为包含“NULL”的观察分隔 Dataframe ,但这种情况下.Apply()应该可以工作。我做错了什么?
# Define the necessary data conditions in function
def condition(x):
if x == "null":
return "N/A"
elif x < threshold:
return "Momentary"
else:
return "Sustained"
# Applying the conditions
df['Duration_Type'] = df['Elapsed_time'].apply(condition)
尝试这样做时,我得到了错误:
elif x < time_thres:
TypeError: '<' not supported between instances of 'str' and 'datetime.timedelta'
1条答案
按热度按时间xzlaal3s1#
解决了我的问题。观察结果是“N/A”,而不是“空”。在其他方面,这种逻辑是正确的。以下是工作代码: