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.pswp.cn/web/63160.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63160.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63160.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

構建樹莓派溫濕度監測系統:從硬件到軟件的完整指南

?作者簡介:2022年博客新星 第八。熱愛國學的Java后端開發者,修心和技術同步精進。 🍎個人主頁:Java Fans的博客 🍊個人信條:不遷怒,不貳過。小知識,大智慧。 💞當前專欄…

28. Three.js案例-創建圓角矩形并進行拉伸

28. Three.js案例-創建圓角矩形并進行拉伸 實現效果 知識點 WebGLRenderer (WebGL渲染器) WebGLRenderer 是 Three.js 中用于渲染 3D 場景的主要渲染器。 構造器 WebGLRenderer( parameters : Object ) 參數類型描述parametersObject渲染器的配置參數,可選。 …

開源Java快速自測工具,可以調用系統內任意一個方法

java快速測試框架,可以調到系統內任意一個方法,告別寫單測和controller的困擾。 開源地址:https://gitee.com/missyouch/Easy-JTest 我們在開發時很多時候想要測試下自己的代碼,特別是service層或者是更底層的代碼,就…

004 QT常用控件Qwidget_上

文章目錄 前言控件概述QWidgetenable屬性geometry屬性windowTitle屬性windowlcon屬性 小結 前言 本文將會向你介紹常用的Qwidget屬性 控件概述 Widget 是 Qt 中的核心概念. 英文原義是 “?部件”, 我們此處把它翻譯為 “控件” . 控件是構成?個圖形化界面的基本要素. QWi…

Android 好的開源庫

1. 權限請求框架 GitHub - getActivity/XXPermissions: Android 權限請求框架,已適配 Android 14 2. 下載框架 GitHub - lingochamp/okdownload: A Reliable, Flexible, Fast and Powerful download engine.

Flash語音芯片相比OTP語音芯片的優勢

Flash語音芯片和OTP語音芯片是兩種常見的語音解決方案,在各自的應用領域中發揮著重要作用。本文?將介紹Flash語音芯片相比OTP(One-Time Programmable)語音芯片的顯著優勢?。 1?.可重復擦寫?:Flash語音芯片的最大特點是支持多次編程和擦除&#xff0c…

Android命令行工具--dumpsys

dumpsys 是一種在 Android 設備上運行的工具,可提供有關系統服務的信息。可以使用 Android 調試橋 (adb) 從命令行調用 dumpsys,獲取在連接的設備上運行的所有系統服務的診斷輸出。 此輸出通常比您想要的更詳細,因此請使用此頁面上的命令行選…

【深度學習】深刻理解Swin Transformer

Swin Transformer 是一種基于 Transformer 的視覺模型,由 Microsoft 研究團隊提出,旨在解決傳統 Transformer 模型在計算機視覺任務中的高計算復雜度問題。其全稱是 Shifted Window Transformer,通過引入分層架構和滑動窗口機制,S…

從零開始學習 sg200x 多核開發之 sophpi 編譯生成 fip.bin 流程梳理

本文主要介紹 sophpi 編譯生成 fip.bin 流程。 1、編譯前準備 sophpi 的基本編譯流程如下: $ source build/cvisetup.sh $ defconfig sg2002_wevb_riscv64_sd $ clean_all $ build_all $ pack_burn_image注: 需要在 bash 下運行clean_all 非必要可以不…

mysql客戶端命令

目錄 結束符 ; \g \G 中斷輸入 ctrl c 查看命令列表 help ? (\?) connect (\r) status (\s) delimiter (\d) exit (\q) quit (\q) tee (\T) ?編輯 notee (\t) prompt (\R) source (\.) system (\!) ?編輯 use (\u) help contents 結束符 ; \g \G 當我…

scala隱式函數

1 定義 通常我們所說的隱式函數也稱為 隱式轉換,是使用 implicit 修飾的函數 作用: 可以通過一個隱式函數將一種類型轉變為另一種類型 隱式轉換有兩種應用場景: 類型轉換,隱式轉換為期望類型 類型增強 2 示例 ①:類…

Tomcat原理(4)——嘗試手動Servlet的實現

目錄 一、什么是Servlet 1.servlet的定義 2.servlet的結構 二、實現servlet的流程圖 三、具體實現代碼 1、server 2.實體類request&response 3.HttpServlet抽象類 4.再定義三個servlet進行測試 Tomcat原理(3)——靜&動態資源以及運行項…

Node.js內置模塊

1.內置模塊 Node.js的中文網參考手冊:https://nodejs.cn//api 幫助文檔 API文檔:查看對應的模塊,左邊是模塊,右邊是模塊的成員 源碼:https://github.com/nodejs/node/tree/main/lib 查看 例如: http.js 創建web服務器的模塊 -->進入源碼中,搜索…

【RAG實戰】RAG與大模型應用

1.1 大模型應用的方向:RAG 1.1.1 什么是RAG 1. 生成式AI 一種能夠生成各類內容的技術,包括文本、圖像、音頻和合成數據。自2022年底ChatGPT在全球范圍內推廣以來,基于Transformer解碼器結構的大模型已能在短時間內為用戶生成高質量的文本、…

基于DeepSpeed Chat詳解 PPO 算法中的actor_loss_fn及其核心參數

詳解 PPO 算法中的 actor_loss_fn 及其核心參數 1. 引言 在強化學習中,PPO(Proximal Policy Optimization,近端策略優化)算法是一種經典且高效的策略優化方法。它通過重要性采樣(Importance Sampling)和策…

D3 基礎1

D3 D3.js (Data-Driven Documents) 是一個基于 JavaScript 的庫&#xff0c;用于生成動態、交互式數據可視化。它通過操作文檔對象模型 (DOM) 來生成數據驅動的圖形。官方網站是 https://d3js.org/ <!DOCTYPE html> <html lang"en"><head><me…

基線檢查:Windows安全基線.【手動 || 自動】

基線定義 基線通常指配置和管理系統的詳細描述&#xff0c;或者說是最低的安全要求&#xff0c;它包括服務和應用程序設置、操作系統組件的配置、權限和權利分配、管理規則等。 基線檢查內容 主要包括賬號配置安全、口令配置安全、授權配置、日志配置、IP通信配置等方面內容&…

Python -- Linux中的Matplotlib圖中無法顯示中文 (中文為方框)

目的 用matplotlib生成的圖中文無法正常顯示 方法 主要原因: 沒找到字體 進入windows系統的C:\Windows\Fonts目錄, 復制自己想要的字體 粘貼到Linux服務器中對應python文件所處的文件夾內 設置字體: 設置好字體文件的路徑在需要對字體設置的地方設置字體 效果 中文正常顯…

快速理解類的加載過程

當程序主動使用某個類時&#xff0c;如果該類還未加載到內存中&#xff0c;則系統會通過如下三個步驟來對該類進行初始化&#xff1a; 1.加載&#xff1a;將class文件字節碼內容加載到內存中&#xff0c;并將這些靜態數據轉換成方法區的運行時數據結構&#xff0c;然后生成一個…

搭建 Elasticsearch 集群:完整教程

本文將詳細介紹如何在 Linux 環境下搭建一個 Elasticsearch 集群&#xff0c;涵蓋環境準備、配置優化、服務啟動等多個環節。 一、環境準備 創建安裝目錄 mkdir /es cd /es解壓 Elasticsearch 安裝包 tar -xzf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /es配置環境變量 編…