使用lambda创建过滤器会产生bool E

2024-10-03 06:21:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从payment_type列中筛选出值“UNK”,并返回完整的数据帧。我想使用一个匿名函数。我收到一个打字错误。在

我试过创建一个单独的函数,但仍然不能使它工作。我在Jupyter笔记本上运行这个

paymentGroups = fareData.groupby("payment_type")

filteredPaymentTypes = paymentGroups.filter(lambda x: 
                                   x["payment_type"].values != 'UNK')

我得到了这个错误:

^{pr2}$

所需的结果是一个修改后的数据帧,其中没有在payment_type列中包含“UNK”的行。在


Tags: 数据lambda函数type错误笔记本jupyterpayment
2条回答

为什么不用一个简单的mask过滤出分组依据之前的值呢?在

mask = fareData.payment_type != 'UNK'
fareData = fareData[mask]

当选择条件与某些 整组的性质,例如某一列的平均值(在 当前组)>;某些值。在

但是在您的例子中,选择标准与 当前记录(不在组中),因此不需要分组。 请改用query,例如:

fareData.query("payment_type != 'UNK'")

编辑

如果出于某种原因您仍然想使用分组,请注意在本例中 过滤是在分组键(payment_type)上进行的,它是相同的 在当前组的每一行中。在

所以过滤条件只能在 当前组的第一行

^{pr2}$

相关问题 更多 >