懂Excel就能輕鬆入門Python數據分析包pandas(七):分列

2021-01-12 Python數據世界

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

前言

今天從兩個需求來看看數據分列功能,由於 Excel 自帶功能比較弱,在處理稍微複雜的需求時會顯得力不從心,因此,本系列文章將引入 Excel 中一個非常高效的數據處理插件—— Power Query,並且看看 pandas 是怎樣靈活解決。

本文結構:

先看看簡單的分列接著嘗試分割擴展成行最後是多列分割擴展成行Excel 分列

Excel中對數據進行分列是非常簡單的。如下:

選中需要處理的列功能卡"數據","分列"按鈕,即出現設置彈窗選"分隔符號",點擊下一步左上部分,勾選"逗號",點擊下一步最後看到結果預覽,沒問題,直接點擊完成pandas 分列

pandas對文本列進行分列,非常簡單:

DataFrame.str.split() ,對文本列分列,第一參數指定分隔符此外,參數 expand ,表示是否擴展成列,若設置為 True ,則分割後的每個元素都成為單獨一列。這符合當前需求

複雜點的需求

有時候,我們希望分割的內容,轉化成行,需求如下:

比如,第一行 張三 的科目中有3個元素,則分割結果 張三就有3行使用Excel自帶功能處理這需求就比較困難,我們使用PowerQuery來處理:

功能區"Power Query",點"從表/範圍"此時會啟動 Power query 編輯窗口

點選 科目 整列上方功能區"開始","轉換"區中,點選"拆分列",選"按分隔符"

這裡大部分設置與 Excel 自帶功能基本一致點開"高級選項",點選"拆分為"中的"行"

功能區"開始",最左邊點按鈕"關閉並上載",即可把結果輸出會 Excel請自行到官方網站下載此插件安裝

那麼pandas中怎麼實現這需求:

先用 str.split 分割,但這次不需要 expand調用 DataFrame.explode(),對某一序列類型的列進行展開注意,explode 方法是 pandas 0.25 版本的新增方法

提升難度

假如現在有多列需要進行分割展開呢?如下:

同時把科目和成績分割擴展到行直接看pandas怎麼解決:

先對 科目 與 成績 列分別進行 split 後,再進行 explode然後通過 concat,與原來的 性名 列合併雖然實現了,但代碼的語義不夠清晰。程式語言的靈活性在此可以充分體現,我們把邏輯封裝成一個函數hp_explode,以後需要使用時,簡單調用即可:

hp_explode() ,可自動識別內容是 list 的列進行擴展hp_explode 方法的定義不是本文的核心,需要源碼的小夥伴看文末

不想調用.str.split?當然也支持:

一句搞定總結

Series.str.split() ,對文本列分割expand 參數指定是否擴展為列DataFrame.explode() ,對序列的列擴展成行,通常與 Series.str.split() 配合使用下一節,將看看 Excel 舉世聞名的 vlookup 函數與 pandas 中的實現

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

相關焦點

  • 懂Excel輕鬆入門Python數據分析包pandas(二十七):IF函數代替者
    此系列文章收錄在:數據大宇宙 > 數據處理 > E-pd轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 懂Excel就能輕鬆入門Python數據分析包pandas(十六):合併數據
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言本系列上一節說了拆分數據的案例,這次自然是說下怎麼合併數據。
  • 懂Excel也能輕鬆入門Python數據分析包pandas(二):高級篩選(上)
    更多 Python 數據處理的乾貨,敬請關注!!!!系列文章:懂Excel就能輕鬆入門Python數據分析包pandas(一):篩選功能前言經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十一):透視表
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言本系列上一節文章最後我隨手使用了 pandas 中的透視表操作,之後有些小夥伴詢問我相關的問題。正好 pandas 的 pivot_table 也是與 Excel 透視表對應。本文簡單教你入門使用 pandas 完成透視表功能。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    22機器學習 23深度學習 24數據結構和算法 25python網絡爬蟲 26機器學習入門篇 27機器學習入門篇2 28機器學習提升篇 29數據挖掘篇 30深度學習必備原理與實戰 31深度學習必備原理與實戰2 32深度學習必備原理與實戰3
  • 想成為高效數據科學家?不會Pandas怎麼行
    選自 towardsdatascience作者:Félix Revert機器之心編譯參與:Nurhachu Null、張倩Pandas 是為了解決數據分析任務而創建的一種基於 NumPy 的工具包,囊括了許多其他工具包的功能,具有易用、直觀、快速等優點。
  • 快速介紹Python數據分析庫pandas的基礎知識和代碼示例
    我創建了這個pandas函數的備忘單。這不是一個全面的列表,但包含了我在構建機器學習模型中最常用的函數。讓我們開始吧!本附註的結構:導入數據導出數據創建測試對象查看/檢查數據選擇查詢數據清理篩選、排序和分組統計數據首先,我們需要導入pandas開始:import pandas as pd導入數據使用函數pd.read_csv直接將CSV轉換為數據格式。注意:還有另一個類似的函數pd。read_excel用於excel文件。
  • 使用pandas和openpyxl處理複雜Excel數據
    關於Excel數據處理,很多同學可能使用過Pyhton的pandas模塊,用它可以輕鬆地讀取和轉換Excel數據。但是實際中Excel表格結構可能比較雜亂,數據會分散不同的工作表中,而且在表格中分布很亂,這種情況下啊直接使用pandas就會非常吃力。本文蟲蟲給大家介紹使用pandas和openpyxl讀取這樣的數據的方法。
  • Pandas閃回咒!如何在Python中重寫SQL查詢?
    一些程式設計師只熟悉SQL中的數據操作,卻不熟悉Python中的數據操作,因此在完成項目時,我們不得不頻繁地在SQL和Python之間進行切換,導致了工作效率低下和生產能力下降。本文就教你一種方法,使用Pandas在Python中輕鬆重現SQL結果。
  • python數據分析——pandas導出數據合集
    導入pandas庫:import pandas as pd導入基礎數據:df=pd.read_excel('數據.xlsx')1.將DataFrame寫入csv\txt文件DataFrame.to_csv()常用參數:path_or_buf=None:輸出文件路徑,默認None
  • 數據分析從業者必看,10 個加速 python 數據分析的簡單的小技巧
    其中,有些可能是相當有名的,有些可能是新的,但我相信下次您從事數據分析項目時,它們會非常有用。1.Profiling the pandas dataframeProfiling 是一個幫助我們理解數據的程序,而 Pandas Profiling 正是實現這一點的一個 python 包。
  • python數據分析——pandas導入數據合集
    導入pandas庫import pandas as pd1.導入csv\txt文件數據pd.read_csv()常用參數:filepath_or_buffer:文件路徑(必填,其他參數按需求填寫)sep:指定分隔符,默認逗號','。header:指定第幾行作為表頭。
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    【每天幾分鐘,從零入門python編程的世界!】numpy的基本的東西我們學習差不多了,後面具體應用中遇到問題具體分析,然後去深入了解遇到的新的知識點就行。現在我們開始學習pandas,pandas一般用的更多,pandas是基於numpy去寫的。pandas是一個專門做數據結構和數據分析的庫。
  • Python利用openpyxl處理excel文件(openpyxl的安裝及簡介)
    作為一名苦逼的文員,經常同word、excel、ppt打交道,有些工作,比如事務性的,敲幾個文字,做幾個圖表,一般人都應該沒有啥問題,很輕鬆就會搞定。但是在同excel打交道過程中,你會面對一系列公式、紛繁的統計和複雜數據分析,比如這個公式:=IFERROR(TRIM(IF(LEN(VLOOKUP(F7,Sheet3!
  • Python數據分析利器,Pandas入門介紹,幫你便捷高效處理複雜數據
    關於Python的數據分析,當我們遇到的數據量小、數據結構簡單時,可以通過字典、列表等Python常見的數據結構來處理。但是當我們面對的大量數據以及複雜數據的局面時,就需要用一些專門用於數據分析的擴展庫來處理數據了。今天給大家介紹一個Python裡專門用來做數據分析和處理的擴展庫。
  • 6個提升效率的pandas小技巧
    pandas是python中常用的數據分析庫,出現頻率非常高,而且pandas功能之多讓人咋舌,即使pandas老手也沒法保證能高效使用pandas做數據分析。這篇文章目的梳理幾個高效實用的pandas小技巧,供大家參考。1.
  • 那些讓你「相見恨晚」的數據分析軟體,一般人我不告訴他
    直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟體。事實上,當數據量不大,我們常作為平日裡數據預處理的一個首選菜單式軟體,快速填充、缺失值填補、數據格式規範化等等,另外,excel強大的文本和數值處理函數也讓它在表格軟體地位不可撼動。
  • pandas指南:做更高效的數據科學家
    如果你是Python新手,很難知道針對特定任務的包哪個是最好的。你需要有經驗的人來告訴你。今天我要告訴你們的是:在數據科學中,有一個軟體包是你們絕對需要學習的,那就是pandas。而pandas真正有趣的地方是,很多其他的包也在裡面。pandas是一個核心包,因此它具有來自其他各種包的特性。
  • 未明學院:7張思維導圖掌握數據分析關鍵庫pandas
    原創: 未明學院Pandas是一個強大的分析結構化數據的工具集;它基於numpy,用於數據分析和數據挖掘,同時也提供數據清洗功能。pandas與numpy一起構成了數據分析的基礎雙生庫。今天小明邀請了未明的王老師,給大家總結了pandas的核心知識,主要包括以下幾個方面。pandas核心知識01、首先我們來認識一下pandas的一些基本概念。pandas概述02在使用pandas做數據分析的時候往往第一步就是將數據導入進來,比如csv或者excel格式的數據,下面這張圖就是我們讀取數據時候的方法和參數。