打开招聘网站,有点慌,产品经理需要具备数据分析能力,也不知道怎么入门,网上找了资料学习,总算打开了一条缝。
本篇主要从缺失数据、数据类型、异常数据及重复数据的处理行为进行代码编写。
数据文件链接:pan.baidu.com/s/1Vj8jl81s… 提取码: tpkk
简单粗暴直接上代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
import datetime as dt
"""
01 读取csv数据源数据
"""
data = pd.read_csv(filepath_or_buffer='behavior.csv', sep=',', encoding='utf-8')
data.info()
"""
02 数据处理--删除缺失值
"""
data.dropna(axis=0, inplace=True, how='any')
data.info()
"""
03 数据处理--数据转换
"""
data['operation_time'] = data['operation_time'].map(lambda x: dt.datetime.fromtimestamp(x).strftime(format='%Y-%m-%d %H:%M:%S'))
data['op_date'] = data['operation_time'].map(lambda x: x[0:11])
data['op_hour'] = data['operation_time'].map(lambda x: x[11:13])
"""
04 数据处理--删除重复值
"""
data.drop_duplicates(subset=['user_id', 'item_id', 'category_id', 'behavior_type', 'operation_time'], inplace=True)
data.info()
"""
05 数据处理--异常值处理
"""
data.drop(labels="operation_time", axis=1, inplace=True)
data = data[data['op_date'].between(left='2017-11-25', right='2017-12-04')]
data['user_id'] = data['user_id'].astype(dtype='int32')
data['item_id'] = data['item_id'].astype(dtype='int64')
data.info()
"""
06 存储清洗后的数据
"""
data.to_csv(path_or_buf='data.csv', encoding='utf-8', index=False)
希望与更多同行者交流学习。