- ❤️ 作者简介:大家好我是小鱼干儿♛是一个热爱编程、热爱算法的大三学生,蓝桥杯国赛二等奖获得者
- 个人主页 :https://blog.csdn.net/qq_52007481
- ⭐ 个人社区:【小鱼干爱编程】
- 刷题网站:数据分析在线练习必备网站 牛客网
刷题网址:牛客网
题解
直接统计不同值得个数
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
print(df['Language'].value_counts())
先根据Language
的值进行分组,然后分别统计每组的数量
注意这个在在牛客中不能通过,因为取得列值不一样,但是能实现这个结果
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
print(df.groupby('Language').count()['Level'].sort_values(ascending=False))
题意分析:
找最大值和最小值
题解:
import pandas as pd
df = pd.read_csv("Nowcoder.csv")
print(df['Continuous_check_in_days'].max())
print(df['Continuous_check_in_days'].min())
题意分析
找到使用python语言得人然后求他得平均提交次数
题解
import pandas as pd
df = pd.read_csv("Nowcoder.csv")
# 找出使用语言为Python的人
pydf =df[df['Language'] == 'Python']
# 求平均值和保留小数位数
# 使用round保留小数
print(pydf['Number_of_submissions'].mean().round(1))
# 使用format保留小数
print(format(pydf['Number_of_submissions'].mean(), '.1f'))
相关函数
mean()
求平均值
round(n)
保留n位小数,注意不是四舍五入,它有自己的规则,看我这篇博客
format()
格式化字符串,可以对数字进行四舍五入
题意分析
题目里面有两个要求,一个是排除刷题数量少于10道的人,另一个就是求等级的中位数
题解:
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
# 筛选出刷题数量大于10的人
new_df = df[df['Num_of_exercise'] >= 10]
# 计算中位数,并取整
print(int(new_df['Level'].median()))
相关函数:
median()
取中位数
题解
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
print(df['Language'].nunique())
print(df['Language'].unique())
相关函数
nunique()
返回不同值得个数
unique()
返回不同值,返回得数据类型是array
题意分析
找出最多得用户等级,其实就是找出等级这一列得中位数,或者说找出出现次数最高得一列
题解:
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
# 注意它的输出格式,仍然是DataFrame对象
# 方式1
print(df[['Level']].mode())
# 方式2 使用iloc取所有行和第二列
print(df.iloc[:,[1]].mode())
# 注意后面这俩能找到出现次数最多的值,但是不符合题意
print(df[['Level']].value_counts().index[0])
print(df['Level'].mode())
题解:
使用quantile
解题
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
print(df[['Achievement_value','Continuous_check_in_days']].quantile(0.25))
print(df[['Num_of_exercise','Number_of_submissions']].quantile(0.75))
使用describe
解题
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
print(df[['Achievement_value','Continuous_check_in_days']].describe().loc['25%'])
print(df[['Num_of_exercise','Number_of_submissions']].describe().loc['75%'])
相关函数
quantile
计算分位数
describe
查看一些基本的统计信息
题解
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
df_7 = df[df['Level'] == 7]
print(df_7['Achievement_value'].max() - df_7['Achievement_value'].min())
相关函数
max
最大值
min
最小值
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
print(format(df['Num_of_exercise'].var(),'.2f'))
print(format(df['Num_of_exercise'].std(),'.2f'))
相关函数
.var()
求方差
.std()
求标准差
本章9道试题使用了一些Pandas常见的函数进行解题,统计一列中不同值得内容和出现得次数,最大值,最小值,平均值,方差,标准差,中位数,众数,分位数等
直达牛客,尽情刷题