有没有办法编写DataFrame.agg方法中使用的聚合函数,可以访问聚合的多个数据列?典型的用例是加权平均加权标准偏差函数.
我希望能够写出类似的东西
def wAvg(c, w):
return ((c * w).sum() / w.sum())
df = DataFrame(....) # df has columns c and w, i want weighted average
# of c using w as weight.
df.aggregate ({"c": wAvg}) # and somehow tell it to use w column as weights ...
Run Code Online (Sandbox Code Playgroud) 有没有办法回顾前一行,并计算一个新变量?所以只要前一行是相同的情况是什么(先前的更改) - (当前的更改),并将其归因于新列中的前一个'ChangeEvent'?
这是我的DataFrame
>>> df
ChangeEvent StartEvent case change open
0 Homeless Homeless 1 2014-03-08 00:00:00 2014-02-08
1 other Homeless 1 2014-04-08 00:00:00 2014-02-08
2 Homeless Homeless 1 2014-05-08 00:00:00 2014-02-08
3 Jail Homeless 1 2014-06-08 00:00:00 2014-02-08
4 Jail Jail 2 2014-06-08 00:00:00 2014-02-08
Run Code Online (Sandbox Code Playgroud)
添加列
Jail Homeless case
0 6 1
0 30 1
0 0 1
Run Code Online (Sandbox Code Playgroud)
... 等等
这是df构建
import pandas as pd
import datetime as DT
d = {'case' : pd.Series([1,1,1,1,2]),
'open' : pd.Series([DT.datetime(2014, 3, 2), …Run Code Online (Sandbox Code Playgroud)