Python实现自动计算Excel数据指定范围内的区间最大值

 更新时间:2023年07月30日 09:05:21   作者:疯狂学习GIS  
这篇文章主要为大家详细介绍了如何基于Python自动计算Excel数据指定范围内的区间最大值,文中的示例代码简洁易懂,感兴趣的小伙伴可以了解下

本文介绍基于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:\Users\15922\Desktop\data_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:\Users\15922\Desktop\data.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实现自动计算Excel数据指定范围内的区间最大值的文章就介绍到这了,更多相关Python计算数据最大值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • OpenCV实战之图像拼接的示例代码

    OpenCV实战之图像拼接的示例代码

    图像拼接可以应用到手机中的全景拍摄,也就是将多张图片根据关联信息拼成一张图片。本文将介绍利用Python OpenCV实现图像拼接的方法,感兴趣的可以试一试
    2022-01-01
  • Python中的pandas模块详解

    Python中的pandas模块详解

    在Python中使用pandas模块,需要先安装pandas库,pandas模块是Python编程语言中用于数据处理和分析的强大模块,它提供了许多用于数据操作和清洗的函数,使得数据处理和分析变得更为简单和直观,本文给大家介绍Python pandas模块,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • jupyter notebook远程访问不了的问题解决方法

    jupyter notebook远程访问不了的问题解决方法

    这篇文章主要介绍了jupyter notebook远程访问不了的问题解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python实现JSON反序列化类对象的示例

    Python实现JSON反序列化类对象的示例

    本篇文章主要介绍了Python实现JSON反序列化类对象的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Python操作Access数据库基本步骤分析

    Python操作Access数据库基本步骤分析

    这篇文章主要介绍了Python操作Access数据库基本步骤,结合实例形式详细分析了Python针对access操作的具体步骤与相关注意事项,需要的朋友可以参考下
    2016-09-09
  • python 中[0]*2与0*2的区别说明

    python 中[0]*2与0*2的区别说明

    这篇文章主要介绍了python 中[0]*2与0*2的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Django Channel实时推送与聊天的示例代码

    Django Channel实时推送与聊天的示例代码

    这篇文章主要介绍了Django Channel实时推送与聊天的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python图像运算之图像锐化和边缘检测

    Python图像运算之图像锐化和边缘检测

    这篇文章主要和大家讲解一下常见的图像锐化和边缘检测方法,即Roberts算子和Prewitt算子。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-12-12
  • 10个Python办公自动化案例总结

    10个Python办公自动化案例总结

    Python作为一种简单而强大的编程语言,不仅在数据科学和软件开发领域广受欢迎,还在办公自动化方面发挥了巨大作用,通过Python,我们可以编写脚本来自动执行各种重复性任务,从而提高工作效率并减少错误,在本文中,我们总结了10个Python办公自动化案例
    2024-09-09
  • Python使用filetype精确判断文件类型

    Python使用filetype精确判断文件类型

    判断文件类型在开发中非常常见的需求,怎样才能准确的判断文件类型呢?首先大家想到的是文件的后缀,但是非常遗憾的是这种方法是非常不靠谱的,因为文件的后缀是可以随意更改的,而python中有个小插件可以实现,下面我们就来详细探讨下
    2017-07-07

最新评论