我有一个房地产经纪人销售数据库。销售收入记入其销售员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']
但这当然不是(我不认为)将适当的一组数字加在一起(即,将每个销售人员的销售额相加)。任何建议表示赞赏!
答案 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'])
我认为应该这样做。