数据处理
数据处理维度
消费时间消费周期近6个月消费次数近6个月消费金额最小消费金额累计消费金额最大消费金额累计消费次数数据处理步骤
导入数据table=pd.read_excel(r"C:\Users\Kaiser\Desktop\DataDocument\storedata.xls") 1
数据的导入需要保证路径里的文件名全部为英文
将某一字符型的列按分类换成数字data["消费类型"]=data["类型"]=="餐费支出" 1 删除类型与支付方式的列
data.drop(columns=["类型","支付方式"],inplace=True) 1 将所有数据按照时间排序
将时间转化为时间类型然后再进行sort排序即可
data["时间"]=pd.to_datetime(data["时间"]) data.sort_values('时间',inplace=True) 12 将时间转换为字符串并分为日期和时刻
时间这一列的字符串以空格为分隔分开
data["时间"]=data["时间"].astype('string') data["学号"]=data["学号"].astype('string') print(data.dtypes) data["消费日期"]=data["时间"].str.split(' ',expand=True)[0] data["消费时间"]=data["时间"].str.split(' ',expand=True)[1] 12345 删去时间这一列
data.drop(columns=["时间"],inplace=True) 1 导出Excel
在导出的时候要安装xlwt库并且要注意\转义的问题,最终的文件要以xls结尾
data.to_excel(r"C:\Users\Kaiser\Desktop\DataDocument\changedata1.xls") 1
所有代码
import numpy as np import pandas as pd table=pd.read_excel(r"C:\Users\Kaiser\Desktop\DataDocument\storedata.xls") data=table data["消费类型"]=data["类型"]=="餐费支出" data.drop(columns=["类型","支付方式"],inplace=True) data.sort_values('学号',inplace=True) data["时间"]=pd.to_datetime(data["时间"]) data.sort_values('时间',inplace=True) #print(data) data["时间"]=data["时间"].astype('string') data["学号"]=data["学号"].astype('string') print(data.dtypes) data["消费日期"]=data["时间"].str.split(' ',expand=True)[0] data["消费时间"]=data["时间"].str.split(' ',expand=True)[1] data.drop(columns=["时间"],inplace=True) data.to_excel(r"C:\Users\Kaiser\Desktop\DataDocument\changedata1.xls") print(data)
123456789101112131415161718处理前:
处理后: