数据如下:
想达成的效果如下:
这里面的数据都是从另一张表格中统计而来,且要生成新的表格,不知道该如何通过代码实现,课上只教了如何处理旧表格,没教如何生成新表,统计旧数据,所以来请教下大家
# -*- coding:utf-8 -*-
import pandas as pd
df = pd.read_excel('data.xls',sheet_name="Sheet1")
##根据客户编号进行分组
grouped = df.groupby(['客户编号'])
##需求一 结果
print('需求一 结果')
for name ,group in grouped:
print('客户编号:',name)
print('过去三个月次数:',group['查询时间'][ (group['查询时间'] <= '2021.01.31') & ( group['查询时间'] >= '2020.11.01' ) ].count())
print('过去六个月次数:',group['查询时间'][ (group['查询时间'] <= '2021.01.31') & ( group['查询时间'] >= '2020.08.01' ) ].count())
print('过去十二个月次数:',group['查询时间'][ (group['查询时间'] <= '2021.01.31') & ( group['查询时间'] >= '2020.02.01' ) ].count())
##需求二 结果
print('需求二 结果')
for name ,group in grouped:
print('客户编号:',name)
temp = group.drop_duplicates(["查询时间","查询原因"],keep="last")
print('过去三个月次数_去重:',temp['查询时间'][ (temp['查询时间'] <= '2021.01.31') & ( temp['查询时间'] >= '2020.11.01' ) ].count())
print('过去六个月次数_去重:',temp['查询时间'][ (temp['查询时间'] <= '2021.01.31') & ( temp['查询时间'] >= '2020.08.01' ) ].count())
print('过去十二个月次数_去重:',temp['查询时间'][ (temp['查询时间'] <= '2021.01.31') & ( temp['查询时间'] >= '2020.02.01' ) ].count())
结果已经出来了,后面把结果写入excel就简单了