Python从多个表格中随机抽取数据加以处理后合并全部数据

简介: Python从多个表格中随机抽取数据加以处理后合并全部数据

  本文介绍基于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

相关文章
|
13天前
|
数据采集 Web App开发 数据挖掘
使用Python和BeautifulSoup轻松抓取表格数据
使用Python和BeautifulSoup,结合代理IP,可以从网页抓取表格数据,如中国气象局的天气信息。通过requests库发送HTTP请求,BeautifulSoup解析HTML提取表格。安装必要库后,设置代理IP,发送请求,解析HTML找到表格,提取数据并存储。通过Pandas进行数据分析,如计算平均气温。这种方法让数据抓取和分析变得更加便捷。
使用Python和BeautifulSoup轻松抓取表格数据
|
4天前
|
数据采集 JSON 数据可视化
【Python实战】Python对中国500强排行榜数据进行可视化分析
【Python实战】Python对中国500强排行榜数据进行可视化分析
|
9天前
|
存储 数据挖掘 Python
使用Python集合高效统计Excel数据
使用Python集合高效统计Excel数据
25 7
|
5天前
|
JSON 数据可视化 API
技术心得:如何用Python和API收集与分析网络数据?
技术心得:如何用Python和API收集与分析网络数据?
11 2
|
7天前
|
机器学习/深度学习 算法 Python
Python 使用SMOTE解决数据不平衡问题(最新推荐)
SMOTE是一种强大的过采样技术,可以有效地处理不平衡数据集,提升分类器的性能。通过imbalanced-learn库中的SMOTE实现,我们可以轻松地对少数类样本进行过采样,平衡数据集。在实际应用中,我们可以根据具体数据集的特点和需求,选择合适的过采样方法。
|
9天前
|
数据可视化 Python
Python中的数据可视化:在数据点上添加标签
Python中的数据可视化:在数据点上添加标签
26 3
|
12天前
|
Python
Python中 合并字典
【6月更文挑战第15天】
9 4
|
4天前
|
数据采集 XML 存储
【Python实战】Python采集二手车数据——超详细讲解
【Python实战】Python采集二手车数据——超详细讲解
|
5天前
|
JSON Serverless 开发工具
函数计算产品使用问题之要使用Python写入时序数据到阿里云表格存储时序表,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。