如何对熊猫数据框中的销售额求和?

How to sum the count of sales in a panda dataframe?

我有一个房地产经纪人销售的数据库。销售额记入他们的销售员 ID (NRDS#)。一些销售将具有相同的 NRDS 编号,因为代理商可能同时拥有交易的双方。

我可以使用以下代码行计算每个类别(listagent / buyersagent)的销售额:

dataListYTDBuyer = dataYTD.groupby('buyersagent')['buyersagent'].count().reset_index(name="count") dataListYTDBuyer = dataListYTDBuyer.sort_values('count', ascending=False)

dataListYTDList = dataYTD.groupby('listagent')['listagent'].count().reset_index(name="count") dataListYTDList = dataListYTDList.sort_values('count', ascending=False)

这会产生:

buyersagent  count_x    listagent  count_y

0     635504004     1530  635504004.0    105.0

1     230010894      166  230010894.0     94.0
2     230018849      148  230018849.0     21.0
3     230015231      144  230015231.0    141.0
4     230014480      140  230014480.0    101.0
..          ...      ...          ...      ...
94    230003099       16  230003099.0     61.0
95    230010244       16  230010244.0     21.0
96    230018166       16          NaN      NaN
97    230016463       16  230016463.0      2.0
98    230016335       16  230016335.0     42.0

不过,我对如何添加和排列销售总数感到困惑(NaN 是销售人员没有列出任何房屋)。我试过了:

sum_sales = dataListYTDList['count'] + dataListYTDBuyer['count']

但这当然不是(我不认为)将适当的一组数字相加(即,将每个销售人员的销售额相加)。任何建议表示赞赏!

所以,你显示的数据框不是一个,而是两个?而您想做的是按代理 ID 汇总销售计数,无论他们是购买代理还是销售代理?

如果我没理解错的话,那么你可以合并ID上的两个数据框,然后你就可以总结销售数量了。

df_merged = pandas.merge(
    dataListYTDList, 
    dataListYTDBuyer, 
    left_on='buyersagent', 
    right_on='listagent')

df_merged['total_sales'] = df_merged['count_x'].add(df_merged['count_y'])

我认为应该这样做。