如何对熊猫数据框中的销售额求和?
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'])
我认为应该这样做。
我有一个房地产经纪人销售的数据库。销售额记入他们的销售员 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'])
我认为应该这样做。