懂Excel輕鬆入門Python數據分析包pandas(十七):合併不規範數據

2021-01-08 Python數據世界

此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd

經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas

前言

本系列上一篇文章關於合併多個 Excel 數據,許多小夥伴似乎對此比較感興趣,問我是否可以合併不規範的數據,本文就用他們提出的需求做一個大致講解

上一節文章:

懂Excel就能輕鬆入門Python數據分析包pandas(十六):合併數據

奇葩格式

現實中的表格數據,可能會存在標題等無用行:

注意看,每個文件的表格的表頭位置都不固定,並且有些是空列(估計現實中不會有這麼奇葩的情況)這裡的處理思路其實很簡單:

加載時讓 pandas 不要把首行作為表頭查找前 n 行數據,找到內容有符合表頭的行,把該行作為表頭把無用行與列去掉本系列多次強調,程式語言的作用是能讓你把重複邏輯封裝,以便日後重複使用。

這裡定義一個重置表頭方法:

x_df.head(10).isin(cols).sum(axis=1)>=2 ,用表格的前10行數據,用指定的表頭查找,只要某一行有大於等於2個符合的內容,則這行作為標題x_df.columns = x_df.loc[header_idx] ,通過 DataFrame.columns 可以輕鬆設置其表頭x_df.iloc[header_idx+1:].loc[:,cols] ,.iloc[header_idx+1:] :獲取表頭後的數據。.loc[:,cols]:獲取指定的列這裡涉及多種 pandas 知識,希望系統學習這些知識,我只能推薦你去看看我的 pandas 專欄

看看怎麼調用吧:

這裡的代碼與本系列上一節基本一樣在使用 pd.read_excel 加載數據時,設置 header=None (紅線) ,讓其不把任何數據設置為表頭加載數據後,調用之前定義的方法 reset_header 調整表格(綠線)總結

真的不要再誤以為 pandas 只能處理非常規範的數據了,這是一個類似於 Sql 的聲明式數據處理分析庫,同時也能使用任何命令式來細緻處理數據。

"聲明式數據處理"是指:不需要你編寫遍歷數據的邏輯代碼

本文重點:

pd.read_excel 方法中有大量參數,讓你控制其加載行為。header = None 讓其不把任何數據作為表頭充分利用 Python 的優點,不用每次都編寫複雜的代碼

如果希望從零開始學習 pandas ,那麼可以看看我的 pandas 專欄。

相關焦點

  • 懂Excel就能輕鬆入門Python數據分析包pandas(十五):拆分數據
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd轉發本文並私信我"python",即可經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 懂Excel就能輕鬆入門Python數據分析包pandas(十三):合併單元格
    後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言做數據分析時,當你拿到一份 Excel 數據之後,我相信你還沒有看數據,心就已經涼了一半。這是因為大概率數據格式"好看不好算",今天來看看怎麼解決報表格式常見的合併單元格問題。案例1今天你接到一個分析需求,需要統計2年內個城市月度平均銷量。
  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十八):二分法查找
    此系列文章收錄在:數據大宇宙 > 數據處理 > E-pd轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 基於python的大數據分析-pandas數據讀取(代碼實戰)
    書籍推薦《大話軟體測試》出版啦,內容包括但不限於性能、自動化、接口、安全、移動APP非功能測試、抓包、loadrunner、jmeter、soapui、Appium、python
  • Python數據處理庫pandas入門教程
    pandas是一個Python語言的軟體包,在我們使用Python語言進行機器學習編程的時候,這是一個非常常用的基礎編程庫。
  • 「Python替代Excel Vba」系列(三):pandas處理不規範數據
    帶你用pandas玩轉各種數據處理前言本系列前2篇已經稍微展示了 python 在數據處理方面的強大能力,這主要得益於 pandas 包的各種靈活處理方式。這是典型的報表輸出格式,其中有合併單元格,內容把科目和人名回到一起去。由於案例原有的需求比較繁瑣,本文核心是處理數據,因此簡化了需求。不管我們的分析目的是什麼,第一步就是要把這份數據整理好,才能應對各種分析。我們開始吧。
  • Python數據核對系列之2—power query VS pandas
    上一篇文章我們整體梳理了我核對兩個表數據,從excel query模式一版版過渡到python多線程多進程讀取資料庫數據後完成核對並輸出結果到資料庫表中的整個版本迭代過程
  • 懂Excel輕鬆入門Python數據分析包pandas(二十一):透視表
    後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas本系列上一節文章最後我隨手使用了 pandas 中的透視表操作,之後有些小夥伴詢問我相關的問題。本文簡單教你入門使用 pandas 完成透視表功能。
  • python數據分析專題 (7):python數據分析模塊
    也就是這些python的擴展包讓python可以做數據分析,主要包括numpy,scipy,pandas,matplotlib,scikit-learn等等諸多強大的模塊,在結合上ipython交互工具 ,以及python強大的爬蟲數據獲取能力,字符串處理能力,讓python成為完整的數據分析工具。
  • 像Excel一樣使用python進行數據分析
    Excel是數據分析中最常用的工具,本篇文章通過python與excel的功能對比介紹如何使用python通過函數式編程完成excel中的數據處理及分析工作。在Python中pandas庫用於數據處理,我們從1787頁的pandas官網文檔中總結出最常用的36個函數,通過這些函數介紹如何通過python完成數據生成和導入,數據清洗,預處理,以及最常見的數據分類,數據篩選,分類匯總,透視等最常見的操作。文章內容共分為9個部分。這是第一篇,介紹前3部分內容,數據表生成,數據表查看,和數據清洗。
  • Python數學建模技巧之pandas數據處理
    因此,採用python去分析幾乎就成了唯一的選擇。恰好Python裡面的pandas庫提供了大數據處理分析的基本方法,是分析大型數據集的基礎武器。下面就具體講解一下pandas這個庫裡面最有用的一些函數操作。
  • 基於Python實現對各種數據文件的操作
    3 excel(xls\xlsx)文件pandas工具包中也提供了相應的函數來讀寫excel文件(pandas.read_excel()和dataframe.to_excel())。更多參考:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html#pandas.read_excel不同於csv文件,xlsx文件中會有多個sheet,pandas.read_excel函數默認讀取第一個sheet.
  • 《pandas數據讀取》
    今天呢就給大家分享一個數據分析裡面的基礎內容之pandas數據讀取 數據讀取是進行數據預處理,建模與分析的前提,不同的數據源
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    22機器學習 23深度學習 24數據結構和算法 25python網絡爬蟲 26機器學習入門篇 27機器學習入門篇2 28機器學習提升篇 29數據挖掘篇 30深度學習必備原理與實戰 31深度學習必備原理與實戰2 32深度學習必備原理與實戰3
  • 數據科學 | pandas數據導入與導出
    當我們開始著手做一個數據分析項目時,選擇和導入數據集是第一個步驟,而導出數據雖然非必需,但有時候我們也需要保存處理或者分析後的結果,方便下次使用。在pandas中,它已經為我們提供了很多不同格式數據的導入和導出方法,下面這篇文章將具體介紹一些較為常用的方法,包括excel、csv文件以及資料庫的導入導出等。數據導入和導出是pandas中很基礎且重要的一個部分。
  • python數據分析常用庫之pandas入門(2)
    索引、選擇和賦值昨天介紹了pandas的模塊引入、創建和讀取數據,今天主要看看怎麼從數據結構中獲得想要的值,也就是數據的索引查找、
  • n種方式教你用python讀寫excel等數據文件
    點擊上方「濤哥聊Python」,選擇「星標」公眾號重磅乾貨,第一時間送達來源:Python大數據分析python處理數據文件的途徑有很多種,可以操作的文件類型主要包括文本文件(csv、txt、json等)、excel
  • 懂Excel就能輕鬆入門Python數據分析包pandas(五):重複值處理
    經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言有時候數據中出現重複值,可能會導致最後的統計結果出現錯誤,因此,查找和移除重複值是數據處理中的常見操作。今天我們來看看 pandas 中是如何實現。
  • python數據分析之pandas常用命令整理
    pandas 是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。你很快就會發現,它是使Python成為強大而高效的數據分析環境的重要因素之一。