我有一个函数,它接受一行daraframe(pd.Series)并返回一个列表。我们的想法是将其应用于数据框并生成一个新的pd.Series列表,每行一个:
sale_candidats = closings.apply(get_candidates_3, axis=1,
sales=sales_ts,
settings=settings,
reduce=True)
然而,似乎pandas尝试将它返回的列表(可能是第一行)映射到原始行,并引发错误(即使reduce = True):
ValueError: Shape of passed values is (10, 8), indices imply (10, 23)
当我将函数转换为返回集而不是列表时,整个事情开始工作 - 除了返回具有相同形状和索引/列名称的数据帧作为原始数据帧,除了每个单元格都填充相应的行()设置。
看起来很像我的错误...我怎样才能返回一个pd.Series
?
答案 0 :(得分:1)
似乎这种行为确实是最新版本的熊猫中的一个错误。看一下这个问题:
答案 1 :(得分:0)
你可以在for循环中应用该函数,因为这就是所有适用的。你不会注意到大的速度惩罚。