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