15.根据条件得到新列(where方法)

李光朱课程 2024-03-28 02:53:54
案例导入

该Excel文件的第一个工作表中A-C列为给定数据。A-C列为“姓名”,“平时成绩”和“成绩”。平时成绩大于等于90分时,在成绩的基础上加5分。

图1.原始数据

文心一言提示词

打开百度“文心一言”,输入提示词:“你是pandas专家,文件路径为:D:/Samples/成绩等级2.xlsx。该Excel文件的第一个工作表中A-C列为给定数据。A-C列为“姓名”,“平时成绩”和“成绩”。用pandas导入Excel文件的数据,导入前5行数据,引擎为"openpyxl"。在导入的数据最后添加一列“最终成绩”,该列的值用DataFrame的where方法,根据以下条件得到:平时成绩大于等于90分时,在成绩的基础上加5分。输出表数据。添加代码注释。”

显示结果如下:

为了完成这个任务,我们首先需要确保安装了pandas和openpyxl这两个Python库。pandas是一个强大的数据分析工具,而openpyxl则是用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。

以下是实现你要求的操作的Python代码:

import pandas as pd# 定义Excel文件的路径file_path = 'D:/Samples/成绩等级2.xlsx'# 使用pandas的read_excel函数导入Excel文件的数据# 参数engine='openpyxl'指定使用openpyxl引擎来读取xlsx文件# 参数nrows=5指定只读取前5行数据df = pd.read_excel(file_path, engine='openpyxl', nrows=5)# 添加一列“最终成绩”# 使用where方法,条件为平时成绩大于等于90分,满足条件时在成绩的基础上加5分df['最终成绩'] = df['成绩'].where(df['平时成绩'] < 90, df['成绩'] + 5)# 输出表数据print(df)

代码解释:

首先,我们导入了pandas库,并为其设置了别名pd,这是使用pandas时的常见做法。我们定义了Excel文件的路径file_path。使用pd.read_excel()函数读取Excel文件的数据。我们指定了engine='openpyxl'来确保使用openpyxl引擎来读取xlsx文件,并设置了nrows=5来只读取前5行数据。在读取的数据框df中,我们添加了一列名为“最终成绩”的新列。这一列的值根据“平时成绩”列的值来确定。如果“平时成绩”小于90分,则“最终成绩”就等于“成绩”列的值;如果“平时成绩”大于或等于90分,则“最终成绩”就等于“成绩”列的值加5。这是通过df['成绩'].where(df['平时成绩'] < 90, df['成绩'] + 5)实现的,其中where方法的第一个参数是条件,第二个参数是不满足条件时的值,第三个参数是满足条件时的值。最后,我们使用print(df)输出了修改后的数据框的内容。Python编辑器运行

图2.Python运行结果

本合集使用的工具如下:

文心一言:3.5版本

Python编辑器:3.9.0

申明:以上结果皆为实际运行结果,如遇到无法运行可在评论区留言。部分数据来自网络,如有侵权请私信告知,感谢!

0 阅读:0

李光朱课程

简介:感谢大家的关注