【发布时间】: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