Pandas 批量提取Excel檔案,分析並可視化顯示
阿新 • • 發佈:2018-12-19
Topic
本文主要是使用Pandas批量處理Excel檔案,使用read_excel函式獲取指定列的資料,然後使用concat功能把所有檔案合併,合併完成的資料使用groupby函式按兩個Key分組求取平均值,最後視覺化畫圖;
1. 匯入使用到的模組 Numpy,Matplotlib,Pandas OS
# -*- coding:UTF-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import os
2. 批量獲取Excel檔案,並把需要的資料合併
#獲取指定資料夾下所有Excel檔名稱並傳送給List1
List1 = os.listdir('c:\\Users\\Zstrong\\Desktop\\')
#定義DataFrame變數用來存放獲取的所有資料
Result = pd.DataFrame()
#for迴圈逐個讀取每個Excel裡面的資料
for i in List1:
if(i[-4:]=='xlsx'):#篩選只讀取xlsx結尾的檔案
#read_excel方法,引數sheet_name表示讀取的工作簿,skiprows表示忽略幾行,usecols表示讀取的制定的列
EXCEL1 = pd.read_excel(r'C:\\Users\\Zstrong\\Desktop\\%s' %i,sheet_name ='Final AT',skiprows=2,usecols=[2,36,37,60])
#concat方法合併多個檔案的資料
Result = pd.concat([Result,EXCEL1],ignore_index=True)
#檢視獲取的結果
Result.tail()
Model | EQ-55 | Time-55 | Defocus | |
---|---|---|---|---|
567 | PA | 8APPH16 | 2018-10-22 13:03:23 | 0.000000 |
568 | PA | 8APPH16 | 2018-10-22 04:25:55 | 0.000000 |
569 | PA | 8APPH16 | 2018-10-22 02:56:26 | 0.002083 |
570 | PA | 8APPH16 | 2018-10-22 01:57:12 | 0.000000 |
571 | PA | 8APPH16 | 2018-10-22 05:10:15 | 0.000000 |
3. 分組處理資料,視覺化展示
#篩選資料來源中的一部分處理
Result1 = Result.loc[Result['Model']=='G1']
#資料列Defocus根據key1:Time-55和key2:EQ-55分組,獲取分組後的平均值
Result2 = Result1['Defocus'].groupby([Result1['Time-55'],Result1['EQ-55']]).mean().unstack()
Result2.plot()