首页 > 解决方案 > DF Query pandas中的函数出现错误

问题描述

试图计算使用 lambda 函数而不是 for的 col(['Call Start Time'])的日期。df0

下面的第一行给出了这个错误:

AttributeError: 'Load' object has no attribute '__name__'

尝试Call Start Time.date()使用下面的 def 函数转换部分。但这也是错误的。我该如何纠正这个问题?

df0.query('`Call Start Time`.date()=="13-07-20"').shape[0]    

def random_to_date(x):
    y=pd.Timestamp(x)
    z=y.date()
    return z    

df0.query('random_to_date(df0['Call Start Time'])=="13-07-20"').shape[0]    

标签: pythonpandasdataframefor-looplambda

解决方案


在 random_to_date 函数 Timestamp() 中仅接受 str、int、float 值。但是您传递了一个表达式, query() 也只接受表达式。这就是你面临错误的原因。


推荐阅读