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计算数据最大值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中的choice()方法使用详解

    Python中的choice()方法使用详解

    这篇文章主要介绍了Python中的choice()方法使用详解,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python入门必读的if语句嵌套方法

    Python入门必读的if语句嵌套方法

    这篇文章主要介绍了Python入门必读的if语句嵌套,基于前面章节介绍的3种形式的条件语句,即if、if else和if elif else展开Python if 语句嵌套的相关内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • 基于Python编写简单实用的日志装饰器

    基于Python编写简单实用的日志装饰器

    在写代码的时候,往往会漏掉日志这个关键因素,导致功能在使用的时候出错却无法溯源。这个时候只要利用日志装饰器就能解决,本文将用Python自制一个简单实用的日志装饰器,需要的可以参考一下
    2022-05-05
  • Python和Plotly实现3D图形绘制

    Python和Plotly实现3D图形绘制

    在当今的数据分析和可视化领域,Python已经成为一种不可或缺的工具,Plotly作为一种高级的绘图库,特别擅长于创建交互式和3D图形,下面我们就来看看Python如何利用Plotly实现3D图形绘制吧
    2024-11-11
  • 简单示例解析python爬虫IP的使用(小白篇)

    简单示例解析python爬虫IP的使用(小白篇)

    这篇文章主要为大家通过简单示例解析python爬虫IP的使用介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python3如何清除过滤emoji表情

    python3如何清除过滤emoji表情

    这篇文章主要介绍了python3如何清除过滤emoji表情问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • python 获取域名到期时间的方法步骤

    python 获取域名到期时间的方法步骤

    这篇文章主要介绍了python 获取域名到期时间的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • WxPython界面利用pubsub如何实现多线程控制

    WxPython界面利用pubsub如何实现多线程控制

    这篇文章主要介绍了WxPython界面利用pubsub如何实现多线程控制,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • python访问mysql数据库的实现方法(2则示例)

    python访问mysql数据库的实现方法(2则示例)

    这篇文章主要介绍了python访问mysql数据库的实现方法,结合实例形式分析了两种Python操作MySQL数据库的相关技巧,需要的朋友可以参考下
    2016-01-01
  • python简单利用字典破解zip文件口令

    python简单利用字典破解zip文件口令

    这篇文章主要给大家介绍了关于python简单利用字典破解zip文件口令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论