'懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績'

Python Excel 數據庫 SQL 外星人玩Python 2019-08-10
"
"
懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

轉發本文並私信我"python",即可獲得Python資料以及各種心得(持續更新的)

系列文章:

懂Excel就能輕鬆入門Python數據分析包pandas(三):製作成績條

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

前言

上一節我們介紹了在 pandas 中怎麼製作諸如成績條的技巧,不過那是按照 Excel 解決思路進行的,然而,面對複雜多變的需求,這種方式會有所限制。本節將介紹一種非常靈活並且思路更清晰的解決方案。


案例

繼續沿用成績單數據:

"
懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

轉發本文並私信我"python",即可獲得Python資料以及各種心得(持續更新的)

系列文章:

懂Excel就能輕鬆入門Python數據分析包pandas(三):製作成績條

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

前言

上一節我們介紹了在 pandas 中怎麼製作諸如成績條的技巧,不過那是按照 Excel 解決思路進行的,然而,面對複雜多變的需求,這種方式會有所限制。本節將介紹一種非常靈活並且思路更清晰的解決方案。


案例

繼續沿用成績單數據:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

我們希望把每位學生的成績單獨列出來,也就是一行記錄成為一個小表:

"
懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

轉發本文並私信我"python",即可獲得Python資料以及各種心得(持續更新的)

系列文章:

懂Excel就能輕鬆入門Python數據分析包pandas(三):製作成績條

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

前言

上一節我們介紹了在 pandas 中怎麼製作諸如成績條的技巧,不過那是按照 Excel 解決思路進行的,然而,面對複雜多變的需求,這種方式會有所限制。本節將介紹一種非常靈活並且思路更清晰的解決方案。


案例

繼續沿用成績單數據:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

我們希望把每位學生的成績單獨列出來,也就是一行記錄成為一個小表:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績


有遍歷思路,但不需要遍歷代碼

上一節我們已經介紹過怎麼利用不存在的索引批量生成空行。但是,這樣子還不夠通用靈活。比如,我們希望按班別製作成績表,此方法顯然不能做到。

使用 pandas 最大的好處就是,你可以根據思路編寫直白的代碼。按"班別",不就是"分組"嗎。如下:

"
懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

轉發本文並私信我"python",即可獲得Python資料以及各種心得(持續更新的)

系列文章:

懂Excel就能輕鬆入門Python數據分析包pandas(三):製作成績條

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

前言

上一節我們介紹了在 pandas 中怎麼製作諸如成績條的技巧,不過那是按照 Excel 解決思路進行的,然而,面對複雜多變的需求,這種方式會有所限制。本節將介紹一種非常靈活並且思路更清晰的解決方案。


案例

繼續沿用成績單數據:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

我們希望把每位學生的成績單獨列出來,也就是一行記錄成為一個小表:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績


有遍歷思路,但不需要遍歷代碼

上一節我們已經介紹過怎麼利用不存在的索引批量生成空行。但是,這樣子還不夠通用靈活。比如,我們希望按班別製作成績表,此方法顯然不能做到。

使用 pandas 最大的好處就是,你可以根據思路編寫直白的代碼。按"班別",不就是"分組"嗎。如下:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

  • 調用 df.groupby() ,即可按任意維度分組數據
  • pandas 的分組比許多主流數據庫的 Sql 更加靈活,他為每組劃入該組的子集,讓我們可以靈活操作,並且還可以每組返回多行記錄
  • 調用 apply ,即可在裡面編寫每組的處理邏輯
  • apply 裡面的邏輯非常直白。在頂部添加標題,在末尾添加空行

"
懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

轉發本文並私信我"python",即可獲得Python資料以及各種心得(持續更新的)

系列文章:

懂Excel就能輕鬆入門Python數據分析包pandas(三):製作成績條

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

前言

上一節我們介紹了在 pandas 中怎麼製作諸如成績條的技巧,不過那是按照 Excel 解決思路進行的,然而,面對複雜多變的需求,這種方式會有所限制。本節將介紹一種非常靈活並且思路更清晰的解決方案。


案例

繼續沿用成績單數據:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

我們希望把每位學生的成績單獨列出來,也就是一行記錄成為一個小表:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績


有遍歷思路,但不需要遍歷代碼

上一節我們已經介紹過怎麼利用不存在的索引批量生成空行。但是,這樣子還不夠通用靈活。比如,我們希望按班別製作成績表,此方法顯然不能做到。

使用 pandas 最大的好處就是,你可以根據思路編寫直白的代碼。按"班別",不就是"分組"嗎。如下:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

  • 調用 df.groupby() ,即可按任意維度分組數據
  • pandas 的分組比許多主流數據庫的 Sql 更加靈活,他為每組劃入該組的子集,讓我們可以靈活操作,並且還可以每組返回多行記錄
  • 調用 apply ,即可在裡面編寫每組的處理邏輯
  • apply 裡面的邏輯非常直白。在頂部添加標題,在末尾添加空行

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

問題來了,你說這方法靈活,可以對應任意維度分組,但這個方法怎麼得到最初的需求——每行一個小表格呢?

對應最初的需求,其實就是按每行分組。那麼 DataFrame 裡面什麼是每行不一樣的?沒錯,就是行索引(index)。如下:

"
懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

轉發本文並私信我"python",即可獲得Python資料以及各種心得(持續更新的)

系列文章:

懂Excel就能輕鬆入門Python數據分析包pandas(三):製作成績條

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

前言

上一節我們介紹了在 pandas 中怎麼製作諸如成績條的技巧,不過那是按照 Excel 解決思路進行的,然而,面對複雜多變的需求,這種方式會有所限制。本節將介紹一種非常靈活並且思路更清晰的解決方案。


案例

繼續沿用成績單數據:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

我們希望把每位學生的成績單獨列出來,也就是一行記錄成為一個小表:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績


有遍歷思路,但不需要遍歷代碼

上一節我們已經介紹過怎麼利用不存在的索引批量生成空行。但是,這樣子還不夠通用靈活。比如,我們希望按班別製作成績表,此方法顯然不能做到。

使用 pandas 最大的好處就是,你可以根據思路編寫直白的代碼。按"班別",不就是"分組"嗎。如下:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

  • 調用 df.groupby() ,即可按任意維度分組數據
  • pandas 的分組比許多主流數據庫的 Sql 更加靈活,他為每組劃入該組的子集,讓我們可以靈活操作,並且還可以每組返回多行記錄
  • 調用 apply ,即可在裡面編寫每組的處理邏輯
  • apply 裡面的邏輯非常直白。在頂部添加標題,在末尾添加空行

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

問題來了,你說這方法靈活,可以對應任意維度分組,但這個方法怎麼得到最初的需求——每行一個小表格呢?

對應最初的需求,其實就是按每行分組。那麼 DataFrame 裡面什麼是每行不一樣的?沒錯,就是行索引(index)。如下:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績


更多的靈活性

這個方式可以製作出靈活多變的小表格,比如,按班別劃分,每個小表格最後添加彙總行。代碼如下:

"
懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

轉發本文並私信我"python",即可獲得Python資料以及各種心得(持續更新的)

系列文章:

懂Excel就能輕鬆入門Python數據分析包pandas(三):製作成績條

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

前言

上一節我們介紹了在 pandas 中怎麼製作諸如成績條的技巧,不過那是按照 Excel 解決思路進行的,然而,面對複雜多變的需求,這種方式會有所限制。本節將介紹一種非常靈活並且思路更清晰的解決方案。


案例

繼續沿用成績單數據:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

我們希望把每位學生的成績單獨列出來,也就是一行記錄成為一個小表:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績


有遍歷思路,但不需要遍歷代碼

上一節我們已經介紹過怎麼利用不存在的索引批量生成空行。但是,這樣子還不夠通用靈活。比如,我們希望按班別製作成績表,此方法顯然不能做到。

使用 pandas 最大的好處就是,你可以根據思路編寫直白的代碼。按"班別",不就是"分組"嗎。如下:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

  • 調用 df.groupby() ,即可按任意維度分組數據
  • pandas 的分組比許多主流數據庫的 Sql 更加靈活,他為每組劃入該組的子集,讓我們可以靈活操作,並且還可以每組返回多行記錄
  • 調用 apply ,即可在裡面編寫每組的處理邏輯
  • apply 裡面的邏輯非常直白。在頂部添加標題,在末尾添加空行

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

問題來了,你說這方法靈活,可以對應任意維度分組,但這個方法怎麼得到最初的需求——每行一個小表格呢?

對應最初的需求,其實就是按每行分組。那麼 DataFrame 裡面什麼是每行不一樣的?沒錯,就是行索引(index)。如下:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績


更多的靈活性

這個方式可以製作出靈活多變的小表格,比如,按班別劃分,每個小表格最後添加彙總行。代碼如下:

懂Excel就能輕鬆入門Python數據分析包pandas(四):任意分組成績

  • 在之前的基礎上加入彙總邏輯
  • 通過 df.append ,即可輕鬆把彙總行添加到 DataFrame 的末尾處

最後

下一節,將用 Excel 的排除重複值功能對標 pandas 的實現。敬請關注。

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

"

相關推薦

推薦中...