python - python数据透视表 - 添加另一列
问题描述
我们想使用 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})
我想添加另一列增加百分比,但我不知道如何。
格式:
提前致谢
解决方案
您可以按位置按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
推荐阅读
- sql - 显示另一个表不包含的表中的行
- wpf - WPF 无法从代码访问 DependencyProperty
- python - 使用 microsoft graph 更新电子邮件类别
- typescript - 如何使用语音识别填充所有离子表单字段?
- python - Python 错误:[ZeroDivisionError:除以零]
- amazon-s3 - presto 在 S3 中将多行映射到单个文件的选项是什么?
- javascript - moment.js 支持哪种格式的区域缩写
- scala - 比较和计算表中的值 - 使用 Scala 的 Spark
- python - 将 list 的元素从 [['a', 'b'], ['c', 'd']] 转换为 ['a b', 'c d']
- dynamics-crm - Microsoft Dynamics CRM,关联实体不提取记录