【问题标题】:How to sum the count of sales in a panda dataframe?如何汇总熊猫数据框中的销售额?
【发布时间】:2020-11-11 21:49:17
【问题描述】:

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

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

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']

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

【问题讨论】:

    标签: python pandas plotly-dash


    【解决方案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'])
    

    我认为应该这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      相关资源
      最近更新 更多