'Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的'

Python Excel 文章 Sed 外星人玩Python 2019-09-04
"
"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

pandas 中,我們不需要用 split ,而是直接用切片提取:

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

pandas 中,我們不需要用 split ,而是直接用切片提取:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容

df.str[4:12] 相當於 df.str.slice(4,12)


案例2

有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

pandas 中,我們不需要用 split ,而是直接用切片提取:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容

df.str[4:12] 相當於 df.str.slice(4,12)


案例2

有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 日期起始位置不固定,但如果從反向來說是固定的

pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

pandas 中,我們不需要用 split ,而是直接用切片提取:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容

df.str[4:12] 相當於 df.str.slice(4,12)


案例2

有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 日期起始位置不固定,但如果從反向來說是固定的

pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 用負數表示從反方向計算截取範圍

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

pandas 中,我們不需要用 split ,而是直接用切片提取:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容

df.str[4:12] 相當於 df.str.slice(4,12)


案例2

有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 日期起始位置不固定,但如果從反向來說是固定的

pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 用負數表示從反方向計算截取範圍

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

案例3

這是一個"抬槓案例":

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

pandas 中,我們不需要用 split ,而是直接用切片提取:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容

df.str[4:12] 相當於 df.str.slice(4,12)


案例2

有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 日期起始位置不固定,但如果從反向來說是固定的

pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 用負數表示從反方向計算截取範圍

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

案例3

這是一個"抬槓案例":

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 開始位置不固定,並且,日期之間還有不固定的分隔符號

我們當然可以用正則表達式提取,這次我選用一種特別的方式完成:

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

pandas 中,我們不需要用 split ,而是直接用切片提取:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容

df.str[4:12] 相當於 df.str.slice(4,12)


案例2

有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 日期起始位置不固定,但如果從反向來說是固定的

pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 用負數表示從反方向計算截取範圍

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

案例3

這是一個"抬槓案例":

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 開始位置不固定,並且,日期之間還有不固定的分隔符號

我們當然可以用正則表達式提取,這次我選用一種特別的方式完成:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 注意,我們使用了 itertools.compress ,要導入該模塊。 import itertools

相信很多人不理解其中的原理,特別是其中的 sed 構造,看看下面的對應圖:

"
Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

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

系列相關:

前言

本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。


案例1

某公司系統,有一 id 列,其中一部分是表示用戶出生日期:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 怎麼可以從中把日期值提取出來呢

Excel 上可以用分列功能:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 結果會把數據分成3列

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

pandas 中,我們不需要用 split ,而是直接用切片提取:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容

df.str[4:12] 相當於 df.str.slice(4,12)


案例2

有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 日期起始位置不固定,但如果從反向來說是固定的

pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 用負數表示從反方向計算截取範圍

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

案例3

這是一個"抬槓案例":

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 開始位置不固定,並且,日期之間還有不固定的分隔符號

我們當然可以用正則表達式提取,這次我選用一種特別的方式完成:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • 注意,我們使用了 itertools.compress ,要導入該模塊。 import itertools

相信很多人不理解其中的原理,特別是其中的 sed 構造,看看下面的對應圖:

Excel的分列功能很強大?Python數據處理分析,pandas有更牛逼的

  • itertools.compress() ,他的作用就是按照一個 bool 列表,把其中的 True 對應另外一個序列同位置上的元素給篩選出來

你 get 到了嗎?


如果希望從零開始學習 pandas ,那麼可以看看我的 pandas 專欄,現在已經到達第二階段最後一個知識點——日期時間,學完這些你就能解決諸如走勢波動的超高難度數據需求,快來學習吧。

總結

  • 分列只是提取內容的一種方式,別一遇到分列,則只考慮 str.split
  • str.slice 或 str[] ,可以像 Python 切片一樣做處理
  • 用好 itertools.compress,可以進行有規則並且連續內容的提取

需要源碼的小夥伴請轉發本文並私信我"python"

"

相關推薦

推薦中...