创建计算列,并将其附加到datafram

2024-06-16 10:05:14 发布

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

我的数据集(称为“train”)是关于抵押贷款申请的。为了改进我对“已接受”(0/1)的预测,我正在尝试计算“贷款人接受率”,并希望将新列附加到我的数据集中。你知道吗

数据集是500k行,贷方id从0到6508不等,但并不是所有的id(整数)都存在。你知道吗

我试过:

方法1: 创建数据透视表。这样做有效:

train.pivot_table(index=['lender'], aggfunc='mean', values=['accepted'])

但是:我似乎无法将此透视表的结果附加到我的数据集:

  • 不是直接的,在一行代码中。

  • 不是间接地,通过将此透视表的结果添加到空数据帧,然后与“on=leander\u id”合并。

方法2: 使用groupby函数创建新列。我用了这个:

train['lender_ar'] = train.groupby('lender').transform('mean')

,但我得到:

ValueError: Wrong number of items passed 21, placement implies 1

我的数据集:


lender  accepted
4536       1
2458       0
5710       1
5888       1
289        1

希望有人能帮忙!谢谢!你知道吗


Tags: 数据方法idtabletrain整数meanpivot