【问题标题】:Pandas groupby calculating percentage change columnPandas groupby 计算百分比变化列
【发布时间】:2019-01-26 03:39:32
【问题描述】:

我是 pandas 数据框的新手,我需要帮助来理解百分比变化。

我确实从查询中生成了一个 csv,以便通过为列分配排名来计算平均值。

rank       ds         continent           region      device     traffic
1          08/13      North america         US        mobile      7300
1          08/13      North america         US        desktop     2500
2          08/06       Europe               UK        mobile      3300
2          08/06       Europe              Italy      desktop     5600

在那之后,我确实在第二个 csv 中计算了“1 周”和“3 周”的平均流量。

df_1 = df.loc[df['rank'] == '1']
df_1['traffic'] = df_1['traffic'].astype(float).fillna(0)
avg_1 = df_1.groupby(['continent','region','device']).mean()
avg_1['ds'] = '1 week'

last_3 = df.loc[df['rank'].isin(['2','3','4'])]
last_3['traffic'] = last_3['traffic'].astype(float).fillna(0)
avg_3 = last_3.groupby(['continent','region','device']).mean()
avg_3['ds'] = '3 week'  

均值的最终输出:

market               country       traffic       device          ds
North america         US           36015.33      mobile        1week
North america         US           40663.67      desktop       3week
Europe                UK           360270.7      mobile        1week 
Europe                Italy        1363183       desktop       3week

谁能帮我计算1周和3周的百分比变化流量作为单独的列?谢谢!!

【问题讨论】:

    标签: python python-2.7 pandas pandas-groupby percentage


    【解决方案1】:

    想通了。使用了 pct_change()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      相关资源
      最近更新 更多