数据分析学习记录-----DAY3
9.牛客网C系用户们的信息:
df[df['Language'].isin(['CPP','C','C#'])] #isin函数,查看某列中是否包含某字符串
(这一题也不可以写dtype=object)
Series 一般由四个部分组成,分别是序列的值 data 、索引 index 、存储类型 dtype 、序列的名字 name 。其中,索引也可以指定它的名字,默认为空dtype = 'object’类型,代表了一种混合类型
10.统计牛客网刷题数量500以上的大佬:
index = df['Num_of_exercise'] >= 500
print(df.loc[index, ['Level', 'Achievement_value']]) #index的操作锁定行,后面锁定列
11.按照毕业年份与使用语言筛选牛客网7级用户:
与 《 2020年毕业的人中最喜欢用Java的用户》一样
p.s query括号里面列名称不需要加引号,列等于某个字符,那个字符需要加引号
print(Nowcoder.query('Level==7 & Language == "CPP" & Graduate_year!=2018'))
but
Nowcoder['Level']这种形式需要加引号
12.牛客网不同语言使用人数:
value_counts:
在pandas中,value_counts常用于数据表的计数及排序,它可以用来查看数据表中,指定列里有多少个不同的数据值,并计算每个不同值有在该列中的个数,同时还能根据需要进行排序。
value_counts(values,sort=True, ascending=False, normalize=False,bins=None,dropna=True)
sort=True: 是否要进行排序;默认进行排序
ascending=False:默认降序排列;
normalize=False: 是否要对计算结果进行标准化并显示标准化后的结果,默认是False。
bins=None:可以自定义分组区间,默认是否;
dropna=True:是否删除缺失值nan,默认删除
print(Nowcoder['Language'].value_counts())
13.牛客网用户最近的最长与最短连续签到天数
求最大:Nowcoder['Continuous_check_in_days'].max()
求最小:Nowcoder['Continuous_check_in_days'].min()
14.Python用户的平均提交次数:
求平均:Nowcoder['Continuous_check_in_days'].mean()
保留n位小数:round(平均数,n)
print(round(c['Number_of_submissions'].mean(),1))
15. 牛客网用户等级的中位数:
中位数:c['Level'].median()
16.用户常用语言有多少
# unique()方法返回的是去重之后的不同值,而nunique()方法则直接放回不同值的个数
print(Nowcoder.Language.unique())
返回:['CPP' 'Java' 'C' 'Python' 'PHP' 'JavaScript' 'Ruby' 'C#' 'Go']
17.牛客网最多的用户等级
求出众数:print(Nowcoder['Level'].mode()
——输出形式为(series):
0 1
Name: Level, dtype: int64
因此,应该转为dataframe形式,print(Nowcoder['Level'].mode().to_frame())
——输出形式为:
Level
0 1