题解 | 牛客网Python用户的成就值

牛客网Python用户的成就值

https://www.nowcoder.com/practice/536abf89df3440618b3727333bc7081d

import sys

for line in sys.stdin:
    a = line.split()
    print(int(a[0]) + int(a[1]))

import pandas as pd
df = pd.read_csv("Nowcoder.csv")

### 解法1:布尔索引 + 列选择 ⭐️⭐️⭐️
# 思路:创建布尔掩码 py 标记语言为 Python 的行。
#      通过布尔索引 df[py] 筛选行。
#      用 ['Achievement_value'] 选择列。
# 特点:分步操作,逻辑清晰。
# py = df["Language"] == "Python"
# print(df[py]['Achievement_value'])


### 解法2:直接列访问  ⭐️⭐️⭐️
# 思路:用布尔索引 df[条件] 筛选行。
#      通过 ['列名'] 或 .列名 语法选择列。
# 特点:常见写法,但链式操作可能触发 SettingWithCopyWarning。
# print(df[df['Language']=='Python']['Achievement_value'])
# print(df[df['Language']=='Python'].Achievement_value)


### 解法3:loc 单步筛选 ⭐️⭐️⭐️⭐️
# 思路:使用 loc 同时完成行筛选和列选择。
#      df['Language']=='Python' 或 df.Language=='Python' 生成行条件。
#      'Achievement_value' 指定列。
# 特点:单步操作,高效简洁,推荐写法。
print(df.loc[df['Language']=='Python','Achievement_value'])
# print(df.loc[df.Language=='Python','Achievement_value'])


### 解法4:筛选后 loc/iloc 选择列 ⭐️
# 思路:先筛选出行 (df[条件] 或 df.loc[条件])。
#      用 loc 按列名或 iloc 按位置索引选择列。
#      iloc[:,2] 假设 Achievement_value 是第3列(索引从0开始)。
# 特点:iloc 依赖列位置,数据列顺序变化时会出错,不推荐。
#      loc 按列名选择更稳健。
# print(df[df["Language"]=="Python"].loc[:,'Achievement_value'])
# print(df[df["Language"]=="Python"].iloc[:,2])
# print(df.loc[df["Language"]=="Python"].iloc[:,2])


### 解法5:链式操作
# 思路:先选择列,再筛选行。
#      df['Achievement_value'] 先选中列。
#      .loc[条件] 对列数据进行行筛选。
# 特点:语法合法但非常规,可读性较差。
# print(df['Achievement_value'].loc[df['Language']=='Python'])
# print(df['Achievement_value'].loc[df.Language=='Python'])


### 解法6:query 方法 ⭐️⭐️⭐️
# 思路:用 query("Language == 'Python'") 筛选行。
#      通过列名选择数据。
# 特点:query 适合复杂条件表达式。
#      字符串内需注意引号嵌套(外双内单或外单内双)。
# print(df.query('Language == "Python"')['Achievement_value'])
# print(df.query('Language == "Python"').Achievement_value)
# print(df.query('Language == "Python"').loc[:,'Achievement_value'])

全部评论

相关推荐

12-18 22:04
已编辑
杭州电子科技大学 Java
程序员牛肉:我觉得是这样的,你现在有点病急乱投医了。你要问自己这样一个问题: 我找实习的目的是什么?为了挣钱还是增强个人实力?如果是为了挣钱那没得说,如果我是为了增强个人实习,那我异地去一个小厂实习真的有收益吗?这个收益是否大过我参加学校的项目或者自学?我记得你们杭电有那种实验室专门负责运维学校的项目的。 找实习只是一个手段而已,不要把他变成目的。不要病急乱投医。
实习简历求拷打
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务