如何计算熊猫数据框中的销售量?

时间:2020-11-11 21:49:17

标签: python pandas plotly-dash

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

我可以使用以下代码行计算每个类别(列表代理商/买方代理商)的销售额:

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

尽管如此(我的名字是销售人员未列出任何房屋),但我仍然坚持如何增加和排序销售的总数量。我尝试过:

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

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

1 个答案:

答案 0 :(得分:1)

那么,您显示的数据帧不是一帧,而是两帧?而您想要做的是按代理商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'])

我认为应该这样做。