我有一个大型DataFrame(通过pandas.read_csv加载7 GB csv),结构如下:
In [1]: df
Out[1]:
ID Month Transaction_Amount
1 2014/01 10
1 2014/02 20
1 2014/03 10
1 2014/04 20
1 2014/05 10
1 2014/06 20
1 2014/07 10
1 2014/08 20
1 2014/09 10
1 2014/10 20
1 2014/11 10
1 2014/12 20
2 2014/01 15
2 2014/02 25
2 2014/03 15
2 2014/04 25
...
10000000 2014/11 13
10000000 2014/12 23
我想对12个月的数据中的每个ID进行线性回归。最终目标是获得每个线性回归的斜率值,并将该数字与ID相关联。我的第一个想法是,要执行此回归,我应该创建一个具有以下结构的新DataFrame:
In [2]: my_new_transposed_df
Out[2]:
ID 01 02 03 04 ... 11 12
1 10 20 10 20 10 20
2 15 25 15 25 ... 15 25
...
10000000 13 23 13 23 ... 13 23
此时,我会在每一行上执行回归并记录斜率:
In [1]: my_new_transposed_df['linear_reg_slope'] = my_new_transposed_df.perform_linear_regression(rows=(1:12))
然而,我在完成这两个步骤时遇到了麻烦,第一步是进行转换(转换,我认为?),第二步是执行回归。