python数据透视表-添加另一列

时间:2018-07-18 06:24:37

标签: python sql pandas dataframe pivot-table

我们要使用SQL Server创建数据透视表,并且还要计算最近两天的增长率。

这是使用SQL Server的数据透视表的代码。

data=pd.read_sql_query("select CONVERT(varchar,created_on,111) as Date,service_name as TFN,isnull(count(*),0) MC_Count from tablename with(nolock) where created_on>=cast(getdate()-1 as date) and user_Id='xxx' group by CONVERT(varchar,created_on,111),service_name",con)

P=pd.pivot_table(data,index="TFN",columns="Date",values=["MC_Count"],aggfunc={"MC_Count":np.sum})

我想添加另一列“增加百分比”,但我不知道如何。

格式:

enter image description here

预先感谢

1 个答案:

答案 0 :(得分:0)

您可以按位置DataFrame.iloc选择列,减去,除以100并乘以倍数:

P['growth%'] = ((P.iloc[:, -1] -  P.iloc[:, -2]) / P.iloc[:, -2]) * 100
print (P)
         15-Jul-18  16-Jul-18  18-Jul-18  growth%
1800XXX        789        800       1009   26.125
18001XX        890        900        900    0.000