我一直在看Pandas: run length of NaN holes ,特别是评论中的这段代码片段:
Series([len(list(g)) for k, g in groupby(a.isnull()) if k])
作为一个 python 新手,我对它的简洁性印象深刻,但不确定如何阅读它。它是类似于
的东西的缩写吗myList = []
for k, g in groupby(a.isnull()) :
if k:
myList.append(len(list(g)))
Series(myList)
为了了解发生了什么,我尝试使用它但出现错误:
list object is not callable
所以运气不太好。
如果有人能阐明这一点,那就太好了。
谢谢, 安妮
最佳答案
你的翻译是正确的。但是,您提供的代码无法运行,因为a
是一个自由变量。
我的猜测是您收到错误是因为您已将列表对象分配给名称 list
。不要那样做,因为 list
是列表类型的全局名称。
此外,将来请始终提供完整的堆栈跟踪,而不仅仅是其中的一部分。还请提供足够的代码,至少没有自由变量。
关于Python 简洁让我困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17706939/