您需要的工具是
resample,在一段时间/频率内隐式使用groupby并应用诸如均值或总和的函数。
读取数据。
In [2]: dfOut[2]: Sub-Product 11/1/12 11/2/12 11/3/12 11/4/12 11/5/12 11/6/12GP Acquisitions 164 168 54 72 203 167GP Applications 190 207 65 91 227 200GPF Acquisitions 1124 1142 992 1053 1467 1198GPF Applications 1391 1430 1269 1357 1855 1510
设置一个MultiIndex。
In [4]: df = df.reset_index().set_index(['index', 'Sub-Product'])In [5]: dfOut[5]: 11/1/12 11/2/12 11/3/12 11/4/12 11/5/12 11/6/12index Sub-ProductGP Acquisitions 164 168 54 72 203 167 Applications 190 207 65 91 227 200GPF Acquisitions 1124 1142 992 1053 1467 1198 Applications 1391 1430 1269 1357 1855 1510
将列解析为正确的日期时间。(它们以字符串形式出现。)
In [6]: df.columns = pd.to_datetime(df.columns)In [7]: dfOut[7]: 2012-11-01 2012-11-02 2012-11-03 2012-11-04 index Sub-Product GP Acquisitions 164 168 54 72 Applications 190 207 65 91 GPF Acquisitions 1124 1142 992 1053 Applications 1391 1430 1269 1357 2012-11-05 2012-11-06 index Sub-Product GP Acquisitions 203 167 Applications 227 200 GPF Acquisitions 1467 1198 Applications 1855 1510
axis=1每周(
'w')重新采样列(),按周求和。(
how='sum'或者
how=np.sum这两个都是有效的选项。)
In [10]: df.resample('w', how='sum', axis=1)Out[10]: 2012-11-04 2012-11-11index Sub-Product GP Acquisitions 458 370 Applications 553 427GPF Acquisitions 4311 2665 Applications 5447 3365
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)