也许问题名称不准确(对不起,因为我找不到任何准确的词来描述我的问题......),让我举一个例子:
以下数据框是“week_id”和“user_id”的收入:
week_id user income
1 1 100
1 2 50
2 1 200
2 2 30
2 3 150
3 1 100
3 2 150
....
我想添加一个新列,其中包含上周的“收入”,如下所示:
week_id user income previous_week_income
1 1 100 0
1 2 50 0
2 1 200 100
2 2 30 50
2 3 150 0
3 1 100 200
3 2 150 30
....
看起来生成包含来自当前行以外的其他行的信息的新列。
我知道使用apply函数的解决方案,但是因为它是逐行的,对我的情况来说似乎太慢了(原始数据帧可能是数千万行),我想知道其他快速解决方案来获得结果吗?
背景是为预测分析生成因子,所以我想在预测当前周收入时使用前一周的收入作为一个变量。
提前致谢:)
答案 0 :(得分:0)
如果每个 <span onClick={this.checkCred.bind(this)} className="button1" bsStyle="primary" bsSize="large" > BLOCK </span>
都有唯一week_id
,我认为您需要DataFrameGroupBy.shift
fillna
:
users