我对具有相同结构的几个数据帧执行groupby()和apply():
d = d.groupby( 'groupby_col', as_index = False ).apply( some_function )
对于某些人来说,它按预期工作,但有些失败了。失败的方式是数据框成为一个系列,其中每个元素只包含列名。它看起来像这样:
In [18]: d.head()
Out[18]:
groupby_col
134663372801 some_col_1 some_col_2 some_col_3 some_col_4...
134663372802 some_col_1 some_col_2 some_col_3 some_col_4...
134663372803 some_col_1 some_col_2 some_col_3 some_col_4...
134663372804 some_col_1 some_col_2 some_col_3 some_col_4...
134663372805 some_col_1 some_col_2 some_col_3 some_col_4...
dtype: object
BTW,应用函数返回具有正确列数的数据帧或无。
这可能是什么原因以及如何调试它?
答案 0 :(得分:0)
如果不是从应用函数返回None,我总是返回一个框架 - 替换
,问题就消失了if some_condition:
return
与
if some_condition:
return d[:0] # return the empty frame so that the columns match