代码拉取完成,页面将自动刷新
import pandas as pd
# 列显示不全,进行设置
pd.set_option('display.max_columns', 500)
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
pd.set_option('display.width', 180) # 设置打印宽度(**重要**)
data = pd.read_csv(r'..\taobao\data\tianchi_mobile_recommend_train_user.csv')
# 预览前几行
# print(data.head())
# 统计多少行数据,多少列
# print(data.shape)
# 查看数据类型
# print(data.info())
# 默认统计数值型数据每列数据平均值,标准差,最大值,最小值,25%,50%,75%比例。
# print(data.describe(include=['O']))
# -------数据初步处理---------
# 删除重复值
# print(data.duplicated().sum())
data.drop_duplicates(inplace=True)
# 查看缺失值
# print(data.isnull().sum())
# 地理位置user_geohash缺失值近68%,没法进行处理,只能先删除,
# print(data.apply(lambda x: sum(x.isnull()) / len(x), axis=0))
# 删除地理位置user_geohash
data.drop(["user_geohash"], axis=1, inplace=True)
# 转换时间类型
data['time'] = pd.to_datetime(data['time'], format='%Y-%m-%d')
data["hour"] = data.time.dt.hour
data['time'] = data.time.dt.normalize()
print(data.dtypes)
# user_id item_id 为int类型,需要转化为object
for i in data.columns[0:2]:
data[i] = data[i].astype('str')
# 按时间进行排序
data.sort_values(by=['time', 'hour'], inplace=True, )
# 重置索引,
data.reset_index(drop=True, inplace=True)
print(data.head())
print(data.dtypes)
data = data.rename(columns={
'user_id': '用户名',
'item_id': '商品名',
'behavior_type': '行为',
'item_category': '物品类名',
'time': '日期',
'hour': '小时'
})
print(data.head())
print(data.dtypes)
try:
data.to_csv(r'..\taobao\data\taobao_1.csv', encoding="utf_8_sig")
except:
pass
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。