Python求取表格文件中每隔N行的最大值

2024-08-14 22:10:16 1点赞 7收藏 0评论

  本文介绍基于Python语言,基于Excel表格文件内某一列的数据,计算这一列数据在每一个指定数量的行的范围内(例如每一个4行的范围内)的区间最大值的方法。

  已知我们现有一个.csv格式的Excel表格文件,其中有一列数据,我们希望对其加以区间最大值的计算——即从这一列的数据部分(也就是不包括列名的部分)开始,第1行到第4行之间的最大值、第5行到第8行的最大值、第9行到第12行的最大值等等,加以分别计算每4行中的最大值;此外,如果这一列数据的个数不能被4整除,那么到最后还剩余几个,那就对这几个加以最大值的求取即可。

  明确了需求,我们即可开始代码的撰写;具体如下所示。

# -*- coding: utf-8 -*- """ Created on Wed Jul 26 12:24:58 2023 @author: fkxxgis """ import pandas as pd def calculate_max_every_eight_rows(excel_file, column_name): df = pd.read_csv(excel_file) column_data = df[column_name] max_values = [] for i in range(0, len(column_data), 4): max_values.append(column_data[i:i+4].max()) return max_values excel_file = r"C:Users15922Desktopdata_table_1.csv" column_name = 'NDVI' result = calculate_max_every_eight_rows(excel_file, column_name) rdf = pd.DataFrame(result, columns = ["Max"]) output_file = r"C:Users15922Desktopdata.csv" rdf.to_csv(output_file, index = False)

  在这里,我们定义一个函数calculate_max_every_eight_rows(因为一开始我为了计算8个数据的区间最大值,所有函数名称是eight,大家理解即可),接受两个参数,分别为输入文件路径excel_file,以及要计算区间最大值对应的那一列的列名column_name

  在函数中,我们首先读取文件,将数据保存到df中;接下来,我们从中获取指定列column_name的数据,并创建一个空列表max_values,用于保存每个分组的最大值。随后,使用range函数生成从0开始,步长为4的索引序列,以便按每4行进行分组;这里大家按照实际的需求加以修改即可。在每个分组内,我们从column_data中取出这对应的4行数据,并计算该分组内的最大值,将最大值添加到max_values列表中。最后,函数返回保存了每个分组最大值的列表max_values

  其次,我们通过excel_file指定输入的文件路径,通过column_name指定要处理的列名,随后即可调用calculate_max_every_eight_rows函数,并将返回的结果保存到result变量中,该结果是一个包含了每个分组最大值的列表。

  随后,我们为了将最大值结果保存,因此选择将result列表转换为一个新的DataFrame格式数据rdf,并指定列名为Max。最后,通过rdf.to_csv():将这个rdf保存为一个新的.csv格式文件,并设置index=False以不保存索引列。

  执行上述代码,我们即可获得结果文件。如下图所示,为了方便对比,我们这里就将结果文件复制到原来的文件中进行查看。可以看到,结果列中第1个数字,就是原始列中前4行的最大值;结果列中第3个数字,则就是原始列中第9行到12行的最大值,以此类推。

Python求取表格文件中每隔N行的最大值

  至此,大功告成。

展开 收起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

暂无报价

WPS 金山软件 超级会员2年卡 赠AI会员

WPS 金山软件 超级会员2年卡 赠AI会员

暂无报价

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

239元起

WPS 金山软件 AI会员1年 金山办公软件官方正版

WPS 金山软件 AI会员1年 金山办公软件官方正版

101.33元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

229元起

WPS 金山软件 超级会员季卡

WPS 金山软件 超级会员季卡

暂无报价

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

Microsoft 微软 Office365 个人版 3个月密钥 笔记本电脑 台式机平板 办公必备

Microsoft 微软 Office365 个人版 3个月密钥 笔记本电脑 台式机平板 办公必备

128元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

279元起

Microsoft 微软 Office 家庭和学生版 2021 彩盒包装 适用Windows/MAC

Microsoft 微软 Office 家庭和学生版 2021 彩盒包装 适用Windows/MAC

暂无报价

微软 Microsoft 365 家庭版 彩盒包装 | 1年订阅 至多6人 正版高级Office应用 1T云存储 PC/Mac/移动设备通用

微软 Microsoft 365 家庭版 彩盒包装 | 1年订阅 至多6人 正版高级Office应用 1T云存储 PC/Mac/移动设备通用

498元起

WPS 金山软件 超级会员15个月+芒果TV年卡

WPS 金山软件 超级会员15个月+芒果TV年卡

暂无报价

WPS稻壳会员1年套餐PPT模板素材字体美化图标思维导图官方正版

WPS稻壳会员1年套餐PPT模板素材字体美化图标思维导图官方正版

68元起

【买一得二】WPS联合会员 超级会员年卡+网易云音乐年卡 WPS超级会员年卡(赠7天)+网易云音乐年卡

【买一得二】WPS联合会员 超级会员年卡+网易云音乐年卡 WPS超级会员年卡(赠7天)+网易云音乐年卡

暂无报价

WPS超级会员4年套餐pdf转word排版PPT润色模板素材

WPS超级会员4年套餐pdf转word排版PPT润色模板素材

暂无报价

WPS 金山软件 超级会员15个月卡+哔哩哔哩大会员年卡

WPS 金山软件 超级会员15个月卡+哔哩哔哩大会员年卡

暂无报价
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
天猫超级红包
距结束::
每天领现金,最高24888元
红包按钮
最新文章 热门文章
7
扫一下,分享更方便,购买更轻松