英文原文: 11 - lesson從多個 excel 檔案中讀取資料並且在乙個 dataframe 將這些資料合併在一起。
import pandas as pd
import matplotlib
import os
import sys
%matplotlib inline
print('python version ' + sys.version)
print('pandas version ' + pd.__version__)
print('matplotlib version ' + matplotlib.__version__)
python version 3.6.1 | packaged by conda-forge | (default, mar 23 2017, 21:57:00)
pandas version 0.19.2
matplotlib version 2.0.2
# 建立 dataframe
d =
df = pd.dataframe(d)
df
channel
number01
255
# 匯出到 excel 檔案中
df.to_excel('test1.xlsx', sheet_name = 'test1', index = false)
df.to_excel('test2.xlsx', sheet_name = 'test2', index = false)
df.to_excel('test3.xlsx', sheet_name = 'test3', index = false)
print('done')
done
把 excel 檔名讀入到乙個 list 中,並確保目錄下沒有其他 excel 檔案。
# 放檔名的 list
filenames =
# 你存放excel檔案的路徑可能不一樣,需要修改。
os.chdir(r"./")
# 找到所有副檔名是 .xlsx 的檔案
for files in os.listdir("."):
if files.endswith(".xlsx"):
filenames
['test1.xlsx', 'test2.xlsx', 'test3.xlsx']
建立乙個函式來處理所有的 excel 檔案。
def
getfile
(fnombre):
# excel 檔案的路徑
# 你存放excel檔案的路徑可能不一樣,需要修改。
location = r'./' + fnombre
# 讀入 excel 檔案的資料
# 0 = 第乙個頁籤
df = pd.read_excel(location, 0)
# 標記一下資料是從哪個檔案來的
df['file'] = fnombre
# 把 'file' 列作為索引
return df.set_index(['file'])
對每乙個檔案建立乙個 dataframe,把所有的 dataframe 放到乙個 list 中。
即,df_list = [df, df, df]
# 建立乙個 dataframe 的 list
df_list = [getfile(fname) for fname in filenames]
df_list
[ channel number
file
test1.xlsx 1 255, channel number
file
test2.xlsx 1 255, channel number
file
test3.xlsx 1 255]
# 把 list 中所有的 dataframe 合併成乙個
big_df = pd.concat(df_list)
big_df
channel
number
file
test1.xlsx
1255
test2.xlsx
1255
test3.xlsx
1255
big_df.dtypes
channel int64
number int64
dtype: object
# 畫一張圖
pandas入門 十一
跟series中的值一樣,軸標籤也可以通過函式或對映進行轉換,從而得到乙個新的不同標籤的物件。軸還可以被就地修改,而無需新建乙個資料結構。跟series一樣,軸索引也有乙個map方法 將其賦值給index,這樣就可以對dataframe進行就地修改 想要建立資料集的轉換版 而不是修改原始資料 比較實...
Pandas學習筆記 Pandas概覽(一)
pandas是python的核心資料分析支援庫,提供了快速 靈活 明確的資料結構,旨在簡單 直觀的處理關係型 資料型的資料。pandas適用於處理以下型別的資料 維數名稱描述1 series 帶標籤的一維同構陣列 2dataframe 帶標籤的,大小可變的,二維異構 pandas資料結構就像是低維資...
pandas學習記錄
1.模組匯入 import pandas as pd 2.pandas序列series自動給列表加上索引 如 a 1,2,3,4 b pd.series a c enumerate a print b 類似於 for i,j in c print i,j 3.numpy 只是純碎的生成矩陣陣列,而 ...