Python 我如何在我的pandas apply语句中避免这个索引错误?

Python 我如何在我的pandas apply语句中避免这个索引错误?,python,pandas,numpy,Python,Pandas,Numpy,我真的对这个错误消息迷惑不解,尤其是因为它似乎只出现在我的64位版本的pandas中,而不是我在另一个环境中使用的稍旧的32位版本 所以我有两个数据帧——“摘要”和“全部”。“摘要”包括事件类型的开始时间,“全部”包含解释到摘要表中的数据 下面这行需要“开始阅读”的内容似乎是所有问题的根源,但不知道为什么 summary['average_after_start'] = summary.apply(lambda row: np.mean(all[(all['Timestamp'] >= r

我真的对这个错误消息迷惑不解,尤其是因为它似乎只出现在我的64位版本的pandas中,而不是我在另一个环境中使用的稍旧的32位版本

所以我有两个数据帧——“摘要”和“全部”。“摘要”包括事件类型的开始时间,“全部”包含解释到摘要表中的数据

下面这行需要“开始阅读”的内容似乎是所有问题的根源,但不知道为什么

summary['average_after_start'] = summary.apply(lambda row: np.mean(all[(all['Timestamp'] >= row['Start'])]['Value']), axis=1, raw=True)
我收到的错误消息如下:

IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
任何提示都将不胜感激


*编辑:我已经简化了一点,这是迄今为止我能找到的导致问题的最简单的代码

如果设置
raw=True
,则
是一个numpy数组,而不是pandas系列,因此
行['Start']
将抛出一个错误,因为您无法用字符串索引数组。

因此,您应该将其更改为
raw=False
(这是默认值,因此您可以将其忽略)。

错误消息是什么?呜呜!将编辑此问题,以包括感谢这么多!这完全修复了我的错误,真不敢相信我花了这么长时间调试却没有注意到这一点。