轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
pandas 中,我們不需要用 split ,而是直接用切片提取:
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
pandas 中,我們不需要用 split ,而是直接用切片提取:
- df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容
df.str[4:12] 相當於 df.str.slice(4,12)
案例2
有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
pandas 中,我們不需要用 split ,而是直接用切片提取:
- df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容
df.str[4:12] 相當於 df.str.slice(4,12)
案例2
有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:
- 日期起始位置不固定,但如果從反向來說是固定的
pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
pandas 中,我們不需要用 split ,而是直接用切片提取:
- df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容
df.str[4:12] 相當於 df.str.slice(4,12)
案例2
有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:
- 日期起始位置不固定,但如果從反向來說是固定的
pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:
- 用負數表示從反方向計算截取範圍
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
pandas 中,我們不需要用 split ,而是直接用切片提取:
- df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容
df.str[4:12] 相當於 df.str.slice(4,12)
案例2
有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:
- 日期起始位置不固定,但如果從反向來說是固定的
pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:
- 用負數表示從反方向計算截取範圍
案例3
這是一個"抬槓案例":
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
pandas 中,我們不需要用 split ,而是直接用切片提取:
- df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容
df.str[4:12] 相當於 df.str.slice(4,12)
案例2
有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:
- 日期起始位置不固定,但如果從反向來說是固定的
pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:
- 用負數表示從反方向計算截取範圍
案例3
這是一個"抬槓案例":
- 開始位置不固定,並且,日期之間還有不固定的分隔符號
我們當然可以用正則表達式提取,這次我選用一種特別的方式完成:
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
pandas 中,我們不需要用 split ,而是直接用切片提取:
- df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容
df.str[4:12] 相當於 df.str.slice(4,12)
案例2
有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:
- 日期起始位置不固定,但如果從反向來說是固定的
pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:
- 用負數表示從反方向計算截取範圍
案例3
這是一個"抬槓案例":
- 開始位置不固定,並且,日期之間還有不固定的分隔符號
我們當然可以用正則表達式提取,這次我選用一種特別的方式完成:
- 注意,我們使用了 itertools.compress ,要導入該模塊。 import itertools
相信很多人不理解其中的原理,特別是其中的 sed 構造,看看下面的對應圖:
轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)
經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas
系列相關:
前言
本系列有一篇文章是關於 pandas 實現 Excel 中的分列功能,後來有小夥伴問我,怎麼實現 Excel 中固定列寬分列功能。這次就看看幾個奇葩的數據案例。
案例1
某公司系統,有一 id 列,其中一部分是表示用戶出生日期:
- 怎麼可以從中把日期值提取出來呢
Excel 上可以用分列功能:
- 結果會把數據分成3列
pandas 中,我們不需要用 split ,而是直接用切片提取:
- df.str[4:12],意思是,截取從第5個至第13個(不包含第13個)之間的內容
df.str[4:12] 相當於 df.str.slice(4,12)
案例2
有些系統有時候不會太人性化,比如,id 中的日期的起始位置是不固定的:
- 日期起始位置不固定,但如果從反向來說是固定的
pandas 中的文本切片與 Python 中的切片一樣,因此我們可以這樣處理:
- 用負數表示從反方向計算截取範圍
案例3
這是一個"抬槓案例":
- 開始位置不固定,並且,日期之間還有不固定的分隔符號
我們當然可以用正則表達式提取,這次我選用一種特別的方式完成:
- 注意,我們使用了 itertools.compress ,要導入該模塊。 import itertools
相信很多人不理解其中的原理,特別是其中的 sed 構造,看看下面的對應圖:
- itertools.compress() ,他的作用就是按照一個 bool 列表,把其中的 True 對應另外一個序列同位置上的元素給篩選出來
你 get 到了嗎?
如果希望從零開始學習 pandas ,那麼可以看看我的 pandas 專欄,現在已經到達第二階段最後一個知識點——日期時間,學完這些你就能解決諸如走勢波動的超高難度數據需求,快來學習吧。
總結
- 分列只是提取內容的一種方式,別一遇到分列,則只考慮 str.split
- str.slice 或 str[] ,可以像 Python 切片一樣做處理
- 用好 itertools.compress,可以進行有規則並且連續內容的提取
需要源碼的小夥伴請轉發本文並私信我"python"