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

简介: 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行的最大值,以此类推。

  至此,大功告成。

欢迎关注:疯狂学习GIS

相关文章
|
2月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
1533 1
|
2月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
464 0
|
2月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
2月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
2月前
|
人工智能 Java Linux
Python高效实现Excel转PDF:无Office依赖的轻量化方案
本文介绍无Office依赖的Python方案,利用Spire.XLS、python-office、Aspose.Cells等库实现Excel与PDF高效互转。支持跨平台部署、批量处理、格式精准控制,适用于服务器环境及自动化办公场景,提升转换效率与系统稳定性。
430 7
|
3月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
3月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
2月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
405 0
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
320 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
348 104

热门文章

最新文章

推荐镜像

更多