English 中文(简体)
Pandas: 汇总和/或申请与用户规定的功能不合作
原标题:Pandas: Aggregate and/or apply does not work with user defined function

我正试图从零头上获得加权平均数,但两者都不适用,而且似乎行不通。 我的法典将出现以下错误。 浮标

我有以下简称:

df = pd.DataFrame([[ RETIRO , 65, 1, 10.7],

                   [ SAN NICOLAS ,116, 1, 23.2],

                   [ RETIRO , 101, 2, 28.7],

                   [ FLORES , 136 , 2, 23.5]],

                  columns=[ BARRIO ,  HOGARES ,  COMUNA ,  NSE ])

我界定了这一职能

def avg_w(dt):
    return np.average(a = dt.NSE, weights = dt.HOGARES)

and now apply it to my df,

df.loc[:,[ COMUNA , NSE , HOGARES ]].groupby([ COMUNA ]).apply(avg_w(df))

and it returns numpy.float64 object is not callable

我还尝试了类似以下建议的内容:herehere

我改变了职能,

def avg_w2(dt):
    return pd.Series({ avg_w2 : np.average(a = dt.NSE, weights = dt.HOGARES)})

适用

df.loc[:,[ COMUNA , NSE , HOGARES ]].groupby([ COMUNA ]).apply({ avgw : [avg_w2(dt)]})

但它也没有工作。 代码回归类型:无可用类型:行文

该职能单独运作,但在我通过该职能时没有发挥作用(或总合,我与这两个机构一起尝试)。

我期待每个科考会获得国家空间局的平均加权。

问题回答

您在提出申请时,就要求你履行职务。

df.loc[:,[ COMUNA , NSE , HOGARES ]].groupby([ COMUNA ]).apply(avg_w)

这也许不能解决你们的所有问题,而是应该首先解决。

你们想要的是:

df = df.iloc[:, 1:].groupby(by="COMUNA").apply(
        lambda grp : np.average(a=grp[ NSE ], weights=grp["HOGARES"])
    )

得出以下数据框架:

COMUNA
1    18.711050
2    25.716034

<>strong>note, 您可使用代替“lambda”的表述功能,以适用于每一组,但需通过功能名称本身,即df.apply(avg_w2) NOTdf.apply(avg_w2(df)





相关问题
Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

An enterprise scheduler for python (like quartz)

I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements: Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and ...

How to remove unique, then duplicate dictionaries in a list?

Given the following list that contains some duplicate and some unique dictionaries, what is the best method to remove unique dictionaries first, then reduce the duplicate dictionaries to single ...

What is suggested seed value to use with random.seed()?

Simple enough question: I m using python random module to generate random integers. I want to know what is the suggested value to use with the random.seed() function? Currently I am letting this ...

How can I make the PyDev editor selectively ignore errors?

I m using PyDev under Eclipse to write some Jython code. I ve got numerous instances where I need to do something like this: import com.work.project.component.client.Interface.ISubInterface as ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

Converting Dictionary to List? [duplicate]

I m trying to convert a Python dictionary into a Python list, in order to perform some calculations. #My dictionary dict = {} dict[ Capital ]="London" dict[ Food ]="Fish&Chips" dict[ 2012 ]="...

热门标签