数据分析学习记录-----DAY5

25.修补缺失的用户数据:

该题不写 dtype=object 会报错

print的时候不可以直接写print(Nowcoder['Achievement_value'].fillna(value=mean_achievement,inplace=True))

要先:

Nowcoder['Achievement_value'].fillna(value=mean_achievement,inplace=True

print(Nowcoder)

26.解决牛客网用户重复的数据:

判断是否为重复:

Nowcoder.duplicated()

删除重复数据:

Nowcoder.drop_duplicates()

27.统一最后刷题日期的格式:

该题不写 dtype=object 会报错

pandas库中的to_datetime()函数可以将字符串或者数字转换为日期格式的数据。

df[''date]数据类型为“object”,通过pd.to_datetime将该列数据转换为时间类型,即datetime

df['Last_submission_time']=pd.to_datetime(df['Last_submission_time'],format='%Y-%m-%d')

28.将用户的json文件转换为表格形式:

读取Json文件:df=pd.read_json('Nowcoder.json',dtype=dict)

29.牛客网的每日练题量:

groupby()的常见用法

df.groupby(‘key1’):一列聚合 分组键为列名(可以是字符串、数字或其他Python对象)

df.groupby([‘key1’,‘key2’]):多列聚合 分组键为列名,引入列表list[]

df[‘data1’].groupby(df[‘key1’]).mean():按某一列进行一重聚合求均值 分组键为Series

A=df[‘订单编号’].groupby([ df[‘运营商’], df[‘分类’], df[‘百度圣卡’] ]).count() 按某一列进行多重聚合计数 分组键为Series,引入列表list[]

df[‘data1’].groupby([states,years]).mean() 分组键与原df无关,而是另外指定的任何长度适当的数组 分组键是数组,state和year均为数组

df['date']=pd.to_datetime(df['date'],format='%Y-%m-%d')

print(df['date'].groupby(df['date']).count())

30.牛客网用户练习的平均次日留存率:

df["date"] = pd.to_datetime(df["date"]).dt.date 将date信息里面的时间信息去掉,仅留下日期信息

datetime.timedelta:表示时间间隔,即两个时间点之间的长度。datetime.timedelta(days=1) 表示时间间隔为一天。

import pandas as pd

from datetime import timedelta

nowcoder=pd.read_csv('nowcoder.csv',dtype=object)

pd.set_option('display.max_columns', None)# 显示所有的列,而不是以……显示

pd.set_option('display.max_rows', None)# 显示所有的行,而不是以……显示

pd.set_option('display.width', None) # 不自动换行显示

df = pd.merge(nowcoder,nowcoder,on='user_id',suffixes=['_a','_b']) #将同一个表合并一次.(这个合并操作:同一个id在不同日期,有a,b两种表现,则合并为aa,ab,ba,bb)

df.date_a = pd.to_datetime(df.date_a).dt.date #去除信息中的时间信息

df.date_b = pd.to_datetime(df.date_b).dt.date

df = df[(df.date_a+timedelta(days=1))==df.date_b] #将date_b赋值为后一天的信息,并且在这个过程中完成了去重操作(每一个id只有一个时间信息了)

all_num = nowcoder.user_id.count() 计算操作前的user数量

again_num = df.user_id.count() 计算操作后的

print(round(again_num/all_num,2))

全部评论

相关推荐

西松屋:说明原部门有机会把
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务