数据预处理(一)

数据处理

数据处理维度

  1. 消费时间
  2. 消费周期
  3. 近6个月消费次数
  4. 近6个月消费金额
  5. 最小消费金额
  6. 累计消费金额
  7. 最大消费金额
  8. 累计消费次数

数据处理步骤

导入数据

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)

处理前:

在这里插入图片描述

处理后:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值