学习Python处理Excel 难度0级别 多表合并、多条件筛选、找出重复项、去重

#本代码要点:多表合并、多条件筛选、找出重复项、去重
#主题:计算特定两个时间周期内回店且消费的重复客户清单以及未再次回店的客户清单
#EXCEL工作表:一维表
#备注:假设会员姓名不存在重名;否则找重复项的时候,要增加查找的列名

import os
import pandas as pd

#多表合并
inputdir=r’C:\Users\HW\Desktop\新建文件夹 ’
df_empty=pd.DataFrame(columns=[‘会员姓名’,‘生命周期’,‘到店次数’,‘消费次数’])
for parents,dirnames,filenames in os.walk(inputdir):
for filename in filenames:
df=pd.read_excel(os.path.join(parents,filename))
df_empty=df_empty.append(df,ignore_index=True)

#数据选择:多条件筛选+多列选择
df_new=df_empty[(df_empty[‘到店次数’]>0)&(df_empty[‘消费次数’]>0)][[‘会员姓名’,‘生命周期’,‘到店次数’,‘消费次数’]]

#Duplicated函数功能:查找并显示数据表中的重复值
df2=df_new[df_new.duplicated(‘会员姓名’)]
#导出两个时间周期内回店且消费的重复客户清单
df2.to_excel(“练习1”)

#drop_duplicates函数功能:去重;参数subset选择要去重的列名(可以选多个列名);参数keep,有三个可选参数,分别是 first、last、False,默认为 first,表示只保留第一次出现的重复项,删除其余重复项,last 表示只保留最后一次出现的重复项,False 则表示删除所有重复项
df3=df_new.drop_duplicates(subset=[‘会员姓名’],keep=False)
#导出未再次回店的客户清单
df3.to_excel(“练习2”)

你可能感兴趣的:(pandas,python)