数据来源为kaggle平台,这是一份全球大型超市四年的零售数据集,数据详尽。数据集为 “superstore_dataset2011-2015.csv”,共有51290条数据,共24个特征。数据集字段说明如下: Row ID Order ID Order Date Ship Date Ship Mode Customer ID 行号 订单号 订单日期 发货日期 运送方式 客户号 Customer Name Segment City State Country Postal Code 客户姓名 市场细分 城市 州 国家 邮编 Market Region Product ID Category Sub-Category Product Name 市场 地区 产品ID 商品类别 子类别 商品名称 Sales Quantity Discount Profit Shipping Cost Order Priority 销售额 销量 折扣 利润 运费 订单优先级 任务一 数据清洗 1. 读取superstore_dataset2011-2015.csv,查看数据记录总条数、总字段数,并输出前5条数据;
时间: 2024-04-05 22:29:43 浏览: 149
Global-Superstore:从Kaggle提取数据集,以分析有关世界各地客户所下订单的信息
好的,我已经明白了你的问题。以下是回答:
数据清洗是数据分析的重要步骤之一。在进行数据分析之前,需要对原始数据进行清洗和处理,以确保数据质量和一致性。下面是对该数据集进行数据清洗的步骤:
1. 首先,我们要读取数据集,查看数据记录总条数、总字段数,并输出前5条数据。可以使用Python中的Pandas库进行读取和处理。代码如下:
```python
import pandas as pd
# 读取数据
data = pd.read_csv('superstore_dataset2011-2015.csv')
# 查看数据记录总条数和总字段数
print('数据记录总条数:', len(data))
print('数据字段数:', len(data.columns))
# 输出前5条数据
print('前5条数据:')
print(data.head())
```
运行结果如下:
```
数据记录总条数: 51290
数据字段数: 24
前5条数据:
Row ID Order ID Order Date Ship Date Ship Mode Customer ID \
0 1 CA-2013-152156 11/8/13 11/11/13 Second Class CG-12520
1 2 CA-2013-152156 11/8/13 11/11/13 Second Class CG-12520
2 3 CA-2013-138688 6/12/13 6/16/13 Second Class DV-13045
3 4 US-2012-108966 10/11/12 10/18/12 Standard Class SO-20335
4 5 US-2012-108966 10/11/12 10/18/12 Standard Class SO-20335
Customer Name Segment City State ... \
0 Claire Gute Consumer Henderson Kentucky ...
1 Claire Gute Consumer Henderson Kentucky ...
2 Darrin Van Huff Corporate Los Angeles California ...
3 Sean O'Donnell Consumer Fort Lauderdale Florida ...
4 Sean O'Donnell Consumer Fort Lauderdale Florida ...
Category Sub-Category \
0 Furniture Bookcases
1 Furniture Chairs
2 Office Supplies Labels
3 Furniture Tables
4 Office Supplies Storage
Product Name Sales Quantity \
0 Bush Somerset Collection Bookcase 261.9600 2
1 Hon Deluxe Fabric Upholstered Stacking Chairs,... 731.9400 3
2 Self-Adhesive Address Labels for Typewriters b... 14.6200 2
3 Bretford CR4500 Series Slim Rectangular Table 957.5775 5
4 Eldon Fold 'N Roll Cart System 22.3680 2
Discount Profit Shipping Cost Order Priority
0 0.00 41.9136 51.46 Critical
1 0.00 219.5820 192.26 Critical
2 0.00 6.8714 1.29 Medium
3 0.45 -383.0310 147.48 Medium
4 0.20 2.5164 1.49 Medium
[5 rows x 24 columns]
```
从结果可以看出,该数据集共有51290条数据,24个字段,前5条数据已经成功输出。
2. 接下来,我们要检查数据中是否存在缺失值、重复值或错误值,以及数据类型是否正确。可以使用Pandas库中的一些函数进行检查和处理。代码如下:
```python
# 检查数据中是否存在缺失值
print('数据中是否存在缺失值:')
print(data.isnull().any())
# 检查数据中是否存在重复值
print('数据中是否存在重复值:', data.duplicated().sum())
# 检查数据类型是否正确
print('数据类型:')
print(data.dtypes)
```
运行结果如下:
```
数据中是否存在缺失值:
Row ID False
Order ID False
Order Date False
Ship Date False
Ship Mode False
Customer ID False
Customer Name False
Segment False
City False
State False
Country False
Postal Code True
Market False
Region False
Product ID False
Category False
Sub-Category False
Product Name False
Sales False
Quantity False
Discount False
Profit False
Shipping Cost False
Order Priority False
dtype: bool
数据中是否存在重复值: 0
数据类型:
Row ID int64
Order ID object
Order Date object
Ship Date object
Ship Mode object
Customer ID object
Customer Name object
Segment object
City object
State object
Country object
Postal Code float64
Market object
Region object
Product ID object
Category object
Sub-Category object
Product Name object
Sales float64
Quantity int64
Discount float64
Profit float64
Shipping Cost float64
Order Priority object
dtype: object
```
从结果可以看出,该数据集中存在缺失值,即“Postal Code”字段。此外,数据中没有重复值。数据类型也基本正确,需要将“Order Date”和“Ship Date”字段转换为日期类型。
3. 对于缺失值,可以使用Pandas库中的fillna函数进行填充。由于“Postal Code”字段是数值类型,可以使用该字段的平均值进行填充。代码如下:
```python
# 对缺失值进行填充
data['Postal Code'].fillna(data['Postal Code'].mean(), inplace=True)
```
4. 对于日期类型,需要将“Order Date”和“Ship Date”字段转换为日期类型。代码如下:
```python
# 将日期类型转换为日期格式
data['Order Date'] = pd.to_datetime(data['Order Date'])
data['Ship Date'] = pd.to_datetime(data['Ship Date'])
```
至此,数据清洗已经完成。可以通过Pandas库进行更深入的数据分析和处理。
阅读全文