【发布时间】:2016-05-17 21:58:18
【问题描述】:
我一直在尝试使用 pandas groupby 来分析数据,然后在将 pandas 从版本 0.15.0 更新到 0.18.1 后遇到了一个以前不存在的问题。
我想计算 'equality' 值为 1 的连续周期数(它只能取 0 或 1 的值)。我定义了以下 lambda 函数,并使用 groupby 命令如下:
import pandas as pd
E = lambda x: np.sum(x.diff()==1) + x.head(1)
grouped = df.groupby(['run_'])
agg_data = grouped[['equality','avg_payoff']].mean()
agg_data['E'] = grouped.equality.agg(E) # number of "equality" epochs
但是收到了最后一行代码的错误信息:
ValueError: Function does not reduce
奇怪的是,这段代码在更新之前运行完美。这不是我第一次在更新科学计算包后遇到问题,这让我有点沮丧。有人可以帮忙解决这个问题吗?或者我必须回滚到旧版本...
【问题讨论】:
-
您介意展示一些您正在使用的数据以便我们进行复制吗?
标签: python pandas dataframe group-by