Python计算多个表格中多列数据的平均值与标准差并导出为新的Excel文件

  本文介绍基于Python语言,对一个或多个表格文件多列数据分别计算平均值标准差,随后将多列数据对应的这2个数据结果导出为新的表格文件的方法。

  首先,来看一下本文的需求。现有2.csv格式的表格文件,其每1列表示1个变量,每1行则表示1个样本;其中1个表格文件如下图所示。

  我们现在需要分别对这2个表格文件执行如下操作:计算出其中部分变量(部分列)在所有样本(所有行)中的平均值标准差数据,然后将这些数据结果导出到一个新的.csv格式文件中。

  需求也很简单。明确了需求,接下来就可以开始代码的撰写;本文所用代码如下。

# -*- coding: utf-8 -*-
"""
Created on Sun Mar 10 17:59:23 2024@author: fkxxgis
"""import pandas as pddata = pd.read_csv(r"F:\Data_Reflectance_Rec\Train_data\Train_Model_0715_Main_Over_B_New.csv")
data_nir = pd.read_csv(r"F:\Data_Reflectance_Rec\Train_data\Train_Model_0715_Main_Over_NIR_New.csv")column_need = ["blue", "green", "red", "inf", "NDVI", "NDVI_dif", "days", "sola", "temp", "prec", "soil", "blue_h", "green_h", "red_h", "inf_h", "ndvi_h", "blue_h_dif", "green_h_dif", "red_h_dif", "inf_h_dif", "ndvi_h_dif"]mean_value = data[column_need].mean()
std_value = data[column_need].std()
mean_value_nir = data_nir[column_need].mean()
std_value_nir = data_nir[column_need].std()data_new = pd.DataFrame({"mean_RGB": mean_value, "std_RGB": std_value, "mean_NIR": mean_value_nir, "std_NIR": std_value_nir})data_new.to_csv(r"F:\Data_Reflectance_Rec\Train_data\mean_std.csv", index = True)

  上述代码具体含义如下。

  首先,使用pandas库导入了pd模块。

  其次,使用pd.read_csv()函数从2.csv格式表格文件中读取数据。其中,因为本文需要读取的是2个文件,所以分别用data变量与data_nir变量读取这2个不同路径的表格文件。

  接下来,定义了一个column_need列表,其中包含了需要计算平均值和标准差的列名。

  随后,使用mean()函数和std()函数分别计算了datadata_nir中指定列的平均值和标准差,并将结果分别赋值给mean_valuestd_valuemean_value_nirstd_value_nir变量。

  然后,使用pd.DataFrame创建了一个新的数据框data_new,其中包含了4列数据:mean_RGB列存储了data中计算得到的平均值std_RGB列存储了data中计算得到的的标准差mean_NIR列存储了data_nir中计算得到的平均值std_NIR列存储了data_nir中计算得到的标准差

  最后,使用to_csv()函数将data_new保存到文件路径为mean_std.csv.csv格式文件中,设置index=True表示将索引列也保存到文件中。

  运行上述代码,即可在结果文件夹中找到对应的结果.csv格式文件;如下图所示,其已经是我们需要的形式了——每1列表示1种对应的结果,每1行表示1种变量。

  至此,大功告成。

欢迎关注:疯狂学习GIS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/810029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CCD相机均匀光源积分球

均匀光源积分球在摄影和成像领域具有重要的作用,它可以为CCD相机提供高质量、均匀光源的关键设备。CCD相机,即电荷耦合器件相机,以其高灵敏度、高分辨率和快速响应等特点广泛应用于科研、工业检测、医疗影像等多个领域。然而,为了…

Git Clone succeeded, but checkout failed

Clone succeeded, but checkout failed: Filename too long 原因: 由于系统限制,路径太长,无法检出 解决方案: # git允许长路径,在已clone的仓库执行 git config core.longpaths true # 再次检出 git ch…

Sarson Funds 在 Casper 测试网推出稳定币 csprUSD

Sarson Funds 与 Casper Association 合作,在 Casper Network (CSPR)测试网上推出了 csprUSD 稳定币。 作为最新的法币背书型稳定币,csprUSD 进入了数字货币市场,与 Ripple 和 Cardano 等组织近期推出的产品定位一致。…

libcurl 简单实用

LibCurl是一个开源的免费的多协议数据传输开源库,该框架具备跨平台性,开源免费,并提供了包括HTTP、FTP、SMTP、POP3等协议的功能,使用libcurl可以方便地进行网络数据传输操作,如发送HTTP请求、下载文件、发送电子邮件等…

【2024MathorCup妈妈杯建模】赛题 B:甲骨文智能识别中原始拓片单字自动分割与识别研究

【2024MathorCup妈妈杯建模】赛题 B:甲骨文智能识别中原始拓片单字自动分割与识别研究 加群可以享受定制等更多服务,或者搜索B站:数模洛凌寺 联络组织企鹅:904117571 问题重述 问题 1:对于附件 1(Pre_…

npm创建Vue3项目

npm创建Vue3项目 1 创建Vue项目说明 2 安装3 运行 1 创建Vue项目 创建最新版的Vue项目,已经不推荐使用CLI构建方式了。参考如下即可。 npm create vuelatest如果发现一直动不了,切换网络试一下,个人热点尝试一下。 按下图的选项按需引入自…

提升编程效率的秘密武器:IntelliJ IDEA

IntelliJ IDEA的基本介绍 正如一个故事的开头,我们从一个名字开始 - IntelliJ IDEA。这是一个在程序员中广受欢迎的集成开发环境(IDE),由捷克公司JetBrains开发。它的名字听起来有些复杂,但实际上,它的功能…

AMD Tensile 简介与示例

按照知其然,再知其所以然的认知次序进行 1,下载代码 git clone --recursive https://github.com/ROCm/Tensile.git 2,安装 Tensile cd Tensile mkdir build cd build ../Tensile/bin/Tensile ../Tensile/Configs/rocblas_dgemm_nn_asm_full…

算法 分割字符串为实体类

题目 String userData "10000:张三:男:1998-01-01#10001:张三:男:1998-01-01#10002:李四:女:1999-02-02#10003:王五:男:2000-03-03#10004:赵六:女:2001-04-04"; String[] usersArray userData.split("#"); // 使用Stream API将字符串数组转换为SysUser对…

【计算机毕业设计】音乐论坛App管理系统——后附源码

🎉**欢迎来到琛哥的技术世界!**🎉 📘 博主小档案: 琛哥,一名来自世界500强的资深程序猿,毕业于国内知名985高校。 🔧 技术专长: 琛哥在深度学习任务中展现出卓越的能力&a…

C++ | Leetcode C++题解之第21题合并两个有序链表

题解&#xff1a; 题解&#xff1a; class Solution { public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {ListNode* preHead new ListNode(-1);ListNode* prev preHead;while (l1 ! nullptr && l2 ! nullptr) {if (l1->val < l2->val) {prev-…

【vue】v-if 条件渲染

v-if 不适用于频繁切换显示模式的场景 修改web.user&#xff0c;可看到条件渲染的效果 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initi…

.NET MAUI使用Visual Studio Android Emulator(安卓模拟器)运行

Android Emulator&#xff08;安卓模拟器&#xff09;运行&#xff1a; 安卓模拟器一直卡在不动&#xff1a; 在某些情况下&#xff0c;在“打开或关闭 Windows 功能”对话框中启用 Hyper-V 和 Windows 虚拟机监控程序平台后可能无法正确启用Hyper-V。 我就是开启Hyper-V才把安…

测试领域革新:ChatGPT助你轻松编写测试方案!

简介 测试方案是指描述需要被测产品的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。 我们常常需要根据产品的特性、测试策略等几个方向输出对应的测试方案。在写测试方案的过程中&#xff0c;常常会碰到没有头绪的问题…

卫星导航双频低噪声放大器芯片—ATR2701

ATR2701 是一款专门针对卫星导航 L1 和 L2 双频段应用而设计的高增益、低噪声系数射频放大器。 ATR2701 芯片采用采用 2 级放大器的结构设计&#xff0c;具有 28 dB 高增益和 0.85dB 的低噪声系数。芯片支持 3.3V 至 5V 宽电源供电。芯片采用 2.1 mm X 2.3 mm 1 mm 的 SOT 封…

Promise简单概述

一. Promise是什么&#xff1f; 理解 1.抽象表达&#xff1a; Promise是一门新的技术(ES6规范) Promise是JS中进行异步编程的新解决方案(旧方案是单纯使用回调函数) 异步编程&#xff1a;包括fs文件操作&#xff0c;数据库操作(Mysql)&#xff0c;AJAX&#xff0c;定时器 2.具…

使用Nodejs + express连接数据库mongoose

文章目录 先创建一个js文档安装 MongoDB 驱动程序&#xff1a;引入 MongoDB 模块&#xff1a;设置数据库连接&#xff1a;新建一个表试试执行数据库操作&#xff1a;关闭数据库连接&#xff1a; 前面需要准备的内容可看前面的文章&#xff1a; Express框架搭建项目 node.js 简单…

Java高频面试之JVM篇

说一下 Jvm 的主要组成部分&#xff1f;及其作用&#xff1f; 类加载器执行器运行时数据区域本地接口 谈谈对运行时数据区的理解&#xff1f; 堆和栈的区别是什么&#xff1f; 堆中存什么&#xff1f;栈中存什么&#xff1f; 堆总存对象,栈中存局部变量,引用 为什么要把堆…

什么牌子的运动耳机比较好?五款舒适又实用的运动耳机推荐

跑步、健身、游泳……无论你的运动喜好是什么&#xff0c;一款好的运动蓝牙耳机都能为你的运动体验加分。然而&#xff0c;市面上的运动蓝牙耳机品牌众多&#xff0c;如何选择一款既舒适又实用的产品呢&#xff1f;本文将为你提供一些选购运动蓝牙耳机建议&#xff0c;并为你推…

数字时代的新风向标:海外网红营销与年轻一代的话题热潮

随着互联网的不断普及和社交媒体的迅猛发展&#xff0c;海外网红营销已成为引领年轻一代话题热潮的重要力量。这一趋势不仅改变了传统营销模式&#xff0c;更深刻地影响了年轻人的消费观念、审美趣味以及生活方式。本文Nox聚星将和大家探讨海外网红营销如何成功地吸引了年轻人的…