列表

详情


DA11. 按照毕业年份与使用语言筛选牛客网7级用户

描述

现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
Nowcoder_ID:用户ID
Level:等级
Achievement_value:成就值
Num_of_exercise:刷题量
Graduate_year:毕业年份
Language:常用语言
假设2018年毕业的你突发奇想,想要知道牛客网有哪些使用CPP的7级用户,且他们的毕业年份和你不是同年的,请问该怎么筛选?

输入描述:

数据集直接从当前目录下的Nowcoder.csv文件中读取。

输出描述:

输出该数据集中满足筛选条件的全部信息,包括列号。


原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python 3 解法, 执行用时: 788ms, 内存消耗: 524288KB, 提交时间: 2022-08-01

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
pd.set_option('display.width', 300) # 设置字符显示宽度
pd.set_option('display.max_rows', None) # 设置显示最大行
pd.set_option('display.max_columns', None)

#print(Nowcoder.query("Language == 'CPP' & Level == 7 & Graduate_year != 2018"))
#print(Nowcoder.query("Level == 7 & Language == 'CPP' & Graduate_year != 2018"))
#print(Nowcoder[(Nowcoder.Language =='CPP') & (Nowcoder.Level == 7) & (Nowcoder.Graduate_year !=2018)])
print(Nowcoder[(Nowcoder.Language=='CPP')&(Nowcoder.Level==7)&(Nowcoder.Graduate_year!=2018)])

Python 3 解法, 执行用时: 789ms, 内存消耗: 524288KB, 提交时间: 2022-08-02

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
pd.set_option('display.width', 300) # 设置字符显示宽度
pd.set_option('display.max_rows', None) # 设置显示最大行
pd.set_option('display.max_columns', None)
print(Nowcoder.loc[(Nowcoder['Level']==7) & (Nowcoder['Graduate_year'] != 2018) & (Nowcoder['Language'] == 'CPP'),:])

Python 3 解法, 执行用时: 794ms, 内存消耗: 524288KB, 提交时间: 2022-07-25

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
pd.set_option('display.width', 300) # 设置字符显示宽度
pd.set_option('display.max_rows', None) # 设置显示最大行
pd.set_option('display.max_columns', None)
data = Nowcoder[(Nowcoder['Language'] == "CPP") & 
                   (Nowcoder['Level'] == 7) & 
                  (Nowcoder['Graduate_year'] != 2018)]
print(data)

Python 3 解法, 执行用时: 795ms, 内存消耗: 524288KB, 提交时间: 2022-07-27

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
pd.set_option('display.width', 300) # 设置字符显示宽度
pd.set_option('display.max_rows', None) # 设置显示最大行
pd.set_option('display.max_columns', None)
con1 = Nowcoder['Level']==7
con2 = Nowcoder['Language']=='CPP'
con3 = Nowcoder['Graduate_year']!=2018
print(Nowcoder[con1 & con2 & con3])

Python 3 解法, 执行用时: 796ms, 内存消耗: 524288KB, 提交时间: 2022-07-20

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
# print(Nowcoder.query("Language=='CPP' & Level==7 & Graduate_year!=2018"))
pd.set_option('display.width',300) #设置字符显示宽度
pd.set_option('display.max_rows',None) #设置显示最大行
pd.set_option('display.max_columns',None)
print(Nowcoder.query("Language=='CPP' & Level==7 & Graduate_year!=2018"))

上一题