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

18.用分位数分析牛客网用户活动

Nowcoder[['Num_of_exercise','Number_of_submissions']].quantile(q=0.75)

多列,多个中括号

19.牛客网大佬之间的差距:

a=df.loc[df['Level']==7,'Achievement_value']

print(a.max()-a.min())

20.牛客用户刷题量的方差与提交次数的标准差:

print(round(df['Num_of_exercise'].var(),2)) 方差

print(round(df['Num_of_exercise'].sd(),2)) 标准差

21.大佬用户成就值比例:

df = pd.read_csv('Nowcoder.csv',sep=',')

seven=df.loc[df['Level']==7,'Achievement_value']

a=df['Achievement_value'].sum()

print(seven/a)

22.牛客网用户最高的正确率:

exercise=df[df['Num_of_exercise']>=10]['Num_of_exercise']

submission=df[df['Num_of_exercise']>=10]['Number_of_submissions']

print(round(exercise/submission,3).max())

23.统计牛客网用户的名字长度

Pandas str.len()方法用于确定Pandas系列中每个字符串的长度。此方法仅适用于一系列字符串。由于这是一个字符串方法,因此必须在每次调用.str之前添加前缀。否则会产生错误。

pandas 的 apply() 函数可以作用于 Series 或者整个DataFrame,功能也是

print(Nowcoder['Name'].str.len())#方法一

#print(Nowcoder['Name'].apply(len))#方法二:使用apply

24. 去掉信息不全的用户

信息缺失的处理:

(一)dropna()函数的用法。

dropna(axis,how,thresh,subset,inplace)

参数说明:

axis:这个参数默认为0,当等于0时代表的是删除空值nan所在的行,当等于1时删除空值所在的列

how:这个参数的值默认为‘any’,表示的是删除空值所在的行或者是列,这个主要看前面的axis参数你设定是0还是1;当参数等于‘all’,表示的是删除一阵行或者是一整列都为空值nan的行或者列,如果你的某一行或某一列,不全为空值的话,则不会删除,即不起作用。

thresh:这个参数是一个整数x,意思是保留空值nan的数量小于x的每一行或者是每一列。比如我设置x=2,那么我每一行或者是每一列的非空值的数量大于等于2的行或者列都会被保存,具体是行还是列,那还是看前面的axis参数的设置。

subset:这个参数的意思是指定删除特定行或列的空值所在的列或行,如果axis=0,表示如果指定行x中有空值,则删除所在的列;如果axis=1,表示如果指定列x有空值,则删除空值所在的行。

inplace:这个参数默认为False,它的意思是你在处理空值nan时,是在原数据上处理还是在先把原数据复制一份,然后在副本上处理,在副本上处理的时候,原数据不受任何影响;如果inplace设置为True,那代表你在原数据上进行处理,原数据直接受影响。

(二)、fillna()函数的用法

fillna(axis,mthod,limit,inplace)

看起来是不是和dropna函数的参数长的非常像。inplace的含义和dropna函数中的参数含义一样,这里不再解释。

axis:这个参数取1时,表示按照行来填充,取0时表示按照列来填充。默认为0,即按照列。和dropna函数的刚好相反。

method:这个参数的意思是填充的方式,如果为‘ffill’,则是将这个空值的前一个数据复制给这个空值;如果为‘bfill’,则是将这个空值的后一个数据复制给这个空值。如果不用这个参数,不声明即可。

limit:这个参数时限制填充的空值的个数,比如某一列有两个空值,我这里指定只填充一个空值,另一个空值不管它。

该题不写 dtype=object 会报错

全部评论

相关推荐

点赞 评论 收藏
分享
05-01 22:41
中南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务