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

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

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

其中,每一个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 pd

original_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快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

相关推荐
2301_803875614 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_743623924 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
2401_873479404 小时前
如何利用IP查询定位识别电商刷单?4个关键指标+工具配置方案
开发语言·tcp/ip·php
我爱cope4 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
2501_914245935 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python
菜鸟学Python5 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
<-->5 小时前
Megatron(全称 Megatron-LM,由 NVIDIA 开发)和 DeepSpeed(由 Microsoft 开发)
人工智能·pytorch·python·深度学习·transformer
测试19985 小时前
2026最新软件测试面试八股文【附文档】
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
浪浪小洋6 小时前
c++ qt课设定制
开发语言·c++
charlie1145141916 小时前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构