python 用pandas實現(xiàn)數(shù)據(jù)透視表功能
更新時間:2020年12月21日 16:11:01 作者:賞爾
這篇文章主要介紹了python 用pandas實現(xiàn)數(shù)據(jù)透視表功能的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
透視表是一種可以對數(shù)據(jù)動態(tài)排布并且分類匯總的表格格式。對于熟練使用 excel 的伙伴來說,一定很是親切!
pd.pivot_table() 語法:
pivot_table(data, # DataFrame values=None, # 值 index=None, # 分類匯總依據(jù) columns=None, # 列 aggfunc='mean', # 聚合函數(shù) fill_value=None, # 對缺失值的填充 margins=False, # 是否啟用總計行/列 dropna=True, # 刪除缺失 margins_name='All' # 總計行/列的名稱 )
1、銷量數(shù)據(jù)的透視
1.1 讀入數(shù)據(jù)
import os import numpy as np import pandas as pd file_name = os.path.join(path, 'Excel_test.xls') df = pd.read_excel(io=file_name, # 工作簿路徑 sheetname='透視表', # 工作表名稱 skiprows=1, # 要忽略的行數(shù) parse_cols='A:D' # 讀入的列 ) df
1.2 數(shù)據(jù)透視
# 透視數(shù)據(jù) df_p = df.pivot_table(index='客戶名稱', # 透視的行,分組依據(jù) values='銷量', # 值 aggfunc='sum' # 聚合函數(shù) ) # 對透視表進行降序排列 df_p = df_p.sort_values(by='銷量', # 排序依據(jù) ascending=False # 是否升序排列 ) # 設置數(shù)值格式 df_p = df_p.round({'銷量': 0}).astype('int') # 添加列 ks = df_p['銷量']//100 df_p['重要程度'] = ['★'*k for k in ks] df_p
1.3 重新設置圖示表的索引
df_p['客戶名稱'] = df_p.index df_p.set_index(keys=['重要程度', '客戶名稱'])
注:以上操作從理論和實踐方面看都沒什么問題,但模仿 excel 的痕跡濃重了些,更 python 的操作是用 groupby-applay 的方法。
2 用 分組聚合 實現(xiàn)數(shù)據(jù)透視
grouped = df.groupby(by='客戶名稱') grouped['銷量'].agg('sum')
2.1 實現(xiàn)目標格式的透視表
# 分類匯總 df_p = df.groupby(by='客戶名稱' # 分類 ).agg('sum' # 匯總 ).sort_values(by='銷量', ascending=False # 排序 ).round({'銷量': 0} # 設置精度 ).astype('int') # 數(shù)據(jù)類型轉(zhuǎn)換 # 添加列 ks = df_p['銷量']//100 df_p['重要程度'] = ['★'*k for k in ks] df_p['客戶名稱'] = df_p.index # 層次索引 df_p.set_index(keys=['重要程度', '客戶名稱'])
軟件信息:
以上就是python 用pandas實現(xiàn)數(shù)據(jù)透視表功能的詳細內(nèi)容,更多關于python pandas實現(xiàn)數(shù)據(jù)透視表的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:
相關文章
Python自動錄入ERP系統(tǒng)數(shù)據(jù)
這篇文章主要介紹了Python如何自動錄入ERP系統(tǒng)數(shù)據(jù),用Python解決Excel問題的最佳方法,文章中有詳細的代碼示例,需要的朋友可以參考閱讀2023-04-04Python光學仿真實現(xiàn)波長與顏色之間對應關系示例解析
這篇文章主要為大家介紹了Python光學仿真實現(xiàn)波長與顏色之間對應關系的示例解析,有需要的我朋友可以借鑒參考下,希望能夠有所幫助2021-10-10pytorch模型的定義、修改、讀取、斷點續(xù)訓深入解析
模型定義是深度學習中重要的一環(huán),PyTorch提供了強大而靈活的工具和函數(shù),使我們能夠輕松定義各種類型的深度學習模型,通過深入理解模型定義的原理和應用,我們能夠更好地理解和設計自己的模型,從而提升深度學習任務的性能和效果2024-03-03