一、电商用户分析
1、数据字段信息
字段 |
说明 |
RowID |
行编号 |
OrderID |
订单 ID |
OrderDate |
订单日期 |
ShipDate |
发货日期 |
ShipMode |
发货模式 |
CustomerID |
客户 ID |
CustomerName |
客户姓名 |
Segment |
客户类别 |
City |
客户所在城市 |
State |
客户所在州 |
Country |
客户所在国家 |
PostalCode |
邮编 |
Market |
商店所属区域 |
Region |
商店所属州 |
ProductID |
产品 ID |
Category |
产品类别 |
Sub-Category |
产品子类别 |
ProductName |
产品名称 |
Sales |
售价 |
Quantity |
销售量 |
Discount |
折扣 |
Profit |
利润 |
ShippingCost |
发货成本 |
OrderPriority |
订单优先级 |
2、数据读取
import pandas as pd
data = pd.read_csv(r'F:\data\dataset.csv', encoding='gbk')
print(data)

print(data.columns)

data.columns = ['行编号', '订单ID', '订单日期', '发货日期', '发货模式', '客户ID', '客户姓名', '客户类别', '客户所在城市', '客户所在州', '客户所在国家', '邮编', '商店所属区域', '商店所属州', '产品ID', '产品类别', '产品子类别', '产品名称', '售价', '销售量', '折扣', '利润', '发货成本', '订单优先级']
print(data.head())

3、数据清洗

data.info()

data['发货日期'] = pd.to_datetime(data['发货日期'])
data['订单日期'] = pd.to_datetime(data['订单日期'])
data['发货秒数'] = (data['发货日期'] - data['订单日期']).dt.total_seconds()
data.drop(index=data[data['发货秒数'] < 0].index, inplace=True)
print(data.head())

print(data.shape)
print(data[data['售价'] < 0])

data.info()

print(data.isnull().sum())

print(data['行编号'].unique().size)
data.drop_duplicates('行编号', inplace=True)
data.info()
