Pandas文档列出了一堆"扩展窗口函数":
http://pandas.pydata.org/pandas-docs/version/0.17.0/api.html#standard-expanding-window-functions
但我无法弄清楚他们从文档中做了什么.
我有一个看起来像这样的数据框:
pd.DataFrame({'category': [1,1,1,2,2,2,3,3,3,4],
'order_start': [1,2,3,1,2,3,1,2,3,1],
'time': [1, 4, 3, 6, 8, 17, 14, 12, 13, 16]})
Out[40]:
category order_start time
0 1 1 1
1 1 2 4
2 1 3 3
3 2 1 6
4 2 2 8
5 2 3 17
6 3 1 14
7 3 2 12
8 3 3 13
9 4 1 16
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列,其中包含同一类别之前时间的平均值。我该如何创建它?
新列应如下所示:
pd.DataFrame({'category': [1,1,1,2,2,2,3,3,3,4],
'order_start': [1,2,3,1,2,3,1,2,3,1],
'time': [1, 4, 3, 6, 8, 17, 14, 12, 13, 16],
'mean': [np.nan, 1, …Run Code Online (Sandbox Code Playgroud) 过去一周我一直在努力尝试使用apply在整个 Pandas 数据帧上使用函数,包括滚动窗口、groupby,尤其是多个输入列和多个输出列。我在 SO 上发现了大量关于此主题的问题以及许多旧的和过时的答案。所以我开始为 x 输入和输出、滚动、滚动和 groupby 组合的每一种可能组合创建一个笔记本,我也专注于性能。由于我不是唯一一个为这些问题而苦苦挣扎的人,我想我会在这里提供我的解决方案和工作示例,希望它可以帮助任何现有/未来的熊猫用户。