c++控制台应用每一列数据如何对齐_懂Excel就能轻松入门Python数据分析包pandas(十六):合并数据...
此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd
轉發本文并私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。后來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
前言
本系列上一節說了拆分數據的案例,這次自然是說下怎么合并數據。
隨著需求復雜度提高,很多時候已經不能用 excel 自帶功能實現了,不過 pandas 中許多概念與 excel 不謀而合
案例1
公司的銷售系統功能不全,導出數據時只能把各個部門獨立一個 Excel 文件,此時你需要對整體數據做分析,最好的方式當然是先把各個文件統一匯總起來:
- 注意看,雖然每個表的標題一樣,但是他們的順序可能出現不一致
這里有3個關鍵點:
- 如何獲得一個文件夾中所有文件的路徑
- 加載 Excel 文件數據
- 列標題對齊的情況下,多個數據合并
這次我們需要用到3個包:
- pandas 不用多說
- from pathlib import Path ,用于獲取文件夾中文件的路徑
- openpyxl 用于讀取 Excel 文件所有的工作表
我們來看看如何用 pandas 完成需求:
- Path('案例1').glob('*.xlsx') ,獲得指定文件夾(案例1)中的所有 Excel 文件路徑
- pd.read_excel(f) ,加載 Excel 數據
- pd.concat(dfs) ,合并多個數據,pandas 自動進行索引對齊
關于 pathlib 的知識點,請關注公眾號的入門必備系列文章
上面是普通的寫法,這場景我傾向于使用推導式:
推導式內容,請看 數據大宇宙 > Python入門必備 > 必備知識 > 細講Python推導式
案例2
有時候,表格中沒有必要的信息,如下:
- 這次表格中沒有部門列,部門的信息只能在文件名字中獲取
- df['部門'] = f.stem ,pandas 中添加一列值是非常容易。f.stem 是不帶后綴的文件名字
為什么上面不用推導式呢?因為推導式只適合一行連續調用的寫法,當然這里還是可以使用推導式實現的:
- DataFrame.assign(部門=f.stem) 是一個添加列并且返回修改后的數據的方法,特別適合這種場景下使用
各種創建或移除行列數據的應用,請留意專欄文章
總結
以上是生活随笔為你收集整理的c++控制台应用每一列数据如何对齐_懂Excel就能轻松入门Python数据分析包pandas(十六):合并数据...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 车库遥控器丢了怎么配
- 下一篇: python内容限制_Python 限制