python数据可视化: 使用 pandas

数据

链接

以下是本数据集的13个特征变量的详细说明:

  • order_id:订单ID,数字组合而成,例如4283851335。
  • order_date:订单日期,格式为YYYY-MM-DD,例如2013-10-17。
  • order_time:订单日期,格式为HH:MM:SS,例如12:54:44。
  • cat:商品一级类别,字符串型,包含中文、英文。
  • attribution:商品所属的渠道来源,字符串型,包含中文、英文。
  • pro_id:商品ID,数字组合而成。
  • pro_brand:商品品牌,字符串型,包含中文、英文。
  • total_money:商品销售金额,浮点型。
  • total_quantity:商品销售数量,整数型。
  • order_source:订单来源,从哪个渠道形成的销售,字符串型,包含中文、英文。
  • pay_type:支付类型,字符串型,包含中文、英文。
  • use_id:用户ID,由数字和字母等组成的字符串。
  • city:用户订单时的城市,字符串型,中文。

数据清洗

# 模块导入
import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline# 数据载入
dtypes = {'order_id': np.object,'pro_id': np.object,'use_id': np.object}
df = pd.read_csv('abnormal_orders.txt', dtype=dtypes)df.head(3).T

在这里插入图片描述

# 数据行列
df.shape
#(134190, 12)# 缺失值
df.isna().sum()

在这里插入图片描述

不是很多直接舍弃:

# 弃去缺失值
df.dropna(inplace=True)

时间数据处理:

# 合并时间,并更改类型,弃去原来时间
df['datetime'] = (df.order_date + ' ' + df.order_time ).astype('datetime64[ns]')
df.drop(columns=['order_date', 'order_time', 'abnormal_label'], inplace=True)# 设置时间段
start_time = pd.datetime(2013, 9, 1