当前位置: 首页 > news >正文

Python随机抽取Excel数据并在处理后整合为一个文件

  本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件随机从其中选取一部分数据,并将全部文件中随机获取的数据合并为一个新的Excel表格文件的方法。

  首先,我们来明确一下本文的具体需求。现有一个文件夹,其中有大量的Excel表格文件(在本文中我们就以.csv格式的文件为例);如下图所示。

image

  其中,每一个Excel表格文件都有着如下图所示的数据格式;其中的第1行表示每一列的名称,第1列则表示时间。

  我们希望实现的,就是从每一个Excel表格文件中,随机选取10行数据(第1行数据肯定不能被选进去,因为其为列名;第1列数据也不希望被选进去,因为这个是表示时间的数据,我们后期不需要),并将这一文件夹中全部的Excel表格文件中每一个随机选出的10行数据合并到一起,作为一个新的Excel表格文件。

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

# -*- coding: utf-8 -*-
"""
Created on Fri May 19 01:47:06 2023@author: fkxxgis
"""import os
import pandas as pdoriginal_path = "E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/19_2022Data"
result_path = "E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/20_Train_Model"result_df = pd.DataFrame()for file in os.listdir(original_path):if file.endswith(".csv"):df = pd.read_csv(os.path.join(original_path, file))sample_df = df.sample(n = 10, axis = 0)sample_df = sample_df.iloc[ : , 1 : ]result_df = pd.concat([result_df, sample_df])result_df.to_csv(os.path.join(result_path, "Train_Model_1.csv"), index = False)

  代码中首先定义了原始数据文件夹(也就是有大量Excel表格文件的文件夹)路径和结果数据文件夹路径。然后,创建了一个空的DataFrame,用于存储抽样后的数据。

  接下来是一个for循环,遍历了原始数据文件夹中的所有.csv文件,如果文件名以.csv结尾,则读取该文件。然后,使用Pandas中的sample()函数随机抽取了该文件中的10行数据,并使用iloc[]函数删除了10行数据中的第1列(为了防止第1列表示时间的列被选中,因此需要删除)。最后,使用Pandas中的concat()函数将抽样后的数据添加到结果DataFrame中。

  最后,使用Pandas中的to_csv()函数将结果DataFrame保存到结果数据文件夹中,文件名为Train_Model_1.csv,并设置index = False表示不保存索引。

  运行上述代码,我们即可获得数据合并后的文件,且第1列数据也已经被剔除了。

  至此,大功告成。

文章转载自:疯狂学习GIS

原文链接:https://www.cnblogs.com/fkxxgis/p/18600993

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

http://www.lryc.cn/news/504237.html

相关文章:

  • Linux+Docker onlyoffice 启用 HTTPS 端口支持
  • 在 Visual Studio Code 中编译、调试和执行 Makefile 工程 llama2.c
  • python中math模块常用函数
  • 优化 Vue 3 开发体验:配置 Vite 使用 WebStorm 作为 Vue DevTools 的默认编辑器
  • 【C语言练习(9)—有一个正整数,求是几位数然后逆序打印】
  • 热敏打印机的控制
  • 【closerAI ComfyUI】电商赋能,AI模特套图生产,各种姿势自定义,高度保持人物服饰场景一致性,摆拍街拍专用
  • ARM学习(36)静态扫描规则学习以及工具使用
  • 使用 Docker Compose 部署 Redis 主从与 Sentinel 高可用集群
  • 警惕!手动调整服务器时间可能引发的系统灾难
  • MySQL追梦旅途之性能优化
  • 【机器学习】【无监督学习——聚类】从零开始掌握聚类分析:探索数据背后的隐藏模式与应用实例
  • 基于深度Q网络(Deep Q-Network,DQN)的机器人路径规划,可以自定义地图,MATLAB代码
  • Python-从文件中读取数据-Sat-Sun
  • 测试工程师的职业规划
  • 使用 Puppeteer 快速上手 Node.js 爬虫
  • 浏览器的跨域问题与解决方案
  • MyBatis一二级缓存的区别?
  • [2024-12 CISCN 长城杯] Crypto
  • pytorch bilstm crf的教程,注意 这里不支持批处理,要支持批处理 用torchcrf这个。
  • Python毕业设计选题:基于django+vue的疫情数据可视化分析系统
  • tomcat被检测到目标URL存在htp host头攻击漏洞
  • 1.初识python
  • 【密码学】ZUC祖冲之算法
  • Python面试常见问题及答案8
  • ASP.net Core EntityFramework Code EF code 汇总
  • u3d动画系统五【StateMachineBehaviour类】
  • IS-IS协议
  • 使用C++实现RSA加密解密
  • C++归并与快速