Pandas>>pivot_table()函數列轉行

2021-01-13 默至

Pandas>>pivot_table()函數列轉行

DataFrame.pivot_table(values=None,index=None,columns=None,aggfunc='mean',fill_value=None,margins=False,dropna=True,margins_name='All')

index:必選參數,用來指定行索引。如果用數組做行索引,數據必須等長。columns:必選參數,用來指定列索引。values:可選參數,用來做集合的值。默認是顯示所有的值。aggfunc:聚合函數, pivot_table後新dataframe的值都會通過aggfunc進行運算。在pivot_table會將多重值調用aggfunc函數後放在相應的位置上。默認的aggfunc函數為求平均。fill_value:填充NA值。默認不填充margins:添加行列的總計,默認不顯示。dropna:如果整行都為NA值,則進行丟棄,默認丟棄。margins_name:在margins參數為ture時,用來修改margins的名稱import pandas as pdimport numpy as npdata_test= pd.DataFrame([[1,'張三','sex',1],[1,'張三','height',1.78],[1,'張三','weight',60],[2,'李四','sex',1],[2,'李四','height',1.75],[2,'李四','weight',59],[3,'王五','sex',0],[3,'王五','height',1.72],[3,'王五','weight',58]#[3,'王五','weight',58]],columns =['id','name','description','description_value'])data_test

如下將多行轉換成一行:

data_test.pivot_table(index=['id','name'],#必選參數,用來指定行索引。如果用數組做行索引,數據必須等長columns='description',#必選參數,用來指定列索引。values='description_value'#可選參數,用來做集合的值。默認是顯示所有的值。#aggfunc='sum')

aggfunc聚合函數,在什麼時候用呢?如下基礎數據:

import pandas as pdimport numpy as npdata_test= pd.DataFrame([[1,'張三','sex',1],[1,'張三','height',1.78],[1,'張三','weight',60],[2,'李四','sex',1],[2,'李四','height',1.75],[2,'李四','weight',59],[3,'王五','sex',0],[3,'王五','height',1.72],[3,'王五','weight',58],[3,'王五','weight',58]],columns =['id','name','description','description_value'])data_test

這裡也對其進行多行轉一行:

data_test.pivot_table(index=['id','name'],#必選參數,用來指定行索引。如果用數組做行索引,數據必須等長columns='description',#必選參數,用來指定列索引。values='description_value',#可選參數,用來做集合的值。默認是顯示所有的值。aggfunc='sum'#mean)

相關焦點

  • 數據科學家和軟體工程師都在用的pandas函數有哪些?
    anime.head(3)rating.tail(1)計算行數這本身不是pandas函數,而是len()函數對行進行計數,並將其保存到變量中,在其他地方使用。len(ratings['user_id'].unique())獲取數據框信息對於獲取一些常規信息(如標題、值的數量和按列的數據類型)很有用。df.dtypes是一個類似但實用性低的函數,僅提供列數據類型。
  • 加速數據分析,這12種高效Numpy和Pandas函數為你保駕護航
    這個函數的參數可設置為包含所有擁有特定數據類型的列,亦或者設置為排除具有特定數據類型的列。# We'll use the same dataframe that we used for read_csvframex = df.select_dtypes(include="float64")# Returns only time column最後,pivot_table( ) 也是
  • 快速介紹Python數據分析庫pandas的基礎知識和代碼示例
    我創建了這個pandas函數的備忘單。這不是一個全面的列表,但包含了我在構建機器學習模型中最常用的函數。讓我們開始吧!一個類似但不太有用的函數是df.dtypes只給出列數據類型。類似地,我們可以使用panda中可用的pivottable()函數創建Python pivot表。該函數與groupby()函數非常相似,但是提供了更多的定製。假設我們想按性別將值分組,並計算物理和化學列的平均值和標準差。
  • 12個Pandas和NumPy函數助你一臂之力!
    dtypes列返回數據框的列的子集。設置此函數的參數,以包括具有某些特定數據類型的所有列;也可對其進行設置,以排除具有某些特定數據類型的所有列。# We'll use the same dataframe that we used for read_csvframex = df.select_dtypes(include="float64")# Returns only time column福利:Pivot_table()Pandas最神奇最有用的功能是pivot_table
  • 20個Pandas函數詳解
    它提供了許多函數和方法來加快數據分析過程。pandas之所以如此普遍,是因為它具有強大的功能,以及他簡單的語法和靈活性。在這篇文章中,我將舉例來解釋20個常用的pandas函數。有些是很常見的,我敢肯定你以前用過。有些對你來說可能是新的。所有函數都將為你的數據分析過程增加價值。
  • Python數據分析:pandas讀取和寫入數據
    表示索引列的位置,取值為sequence則代表多重索引usecols:array,指定讀取的列skiprows:從文件開頭算起,需要跳過的行數先在當前工作目錄下創建csv文件,如下圖可以看到這個csv文件包含三列數據,列名為studentNo,name,age。使用read_csv將這三列數據讀入到DataFrame。
  • 超全的pandas數據分析常用函數總結(下篇)
    上篇文章中,小編給大家總結了數據分析中pandas這一模塊裡面常用函數的四個部分的內容,分別為導入模塊、創建數據集並讀取、數據查看與數據清洗,現在給大家介紹下篇的內容。來源 | 凹凸數據5.,且沒有指定後綴,因為上面的數據data和data2都有「id」列,所以需要給id列指明後綴。
  • 127、使用pandas讀取文本文件
    pandas提供了一些用於將表格型數據讀取為DataFrame對象的函數,其中常用read_csv和read_table讀取文件。0.png下面出現的例子中需要讀取的文件都存放在我自己的電腦 D:Pytho\notebookpydata-book-masterch06 中。
  • Python數據分析常用函數及參數詳解,可以留著以備不時之需
    例如,當i=0時,就是說行維度值進行變化,其它維度不變,這就表明是按列進行處理。02常用函數為了便於我們掌握,我們結合數據分析的流程和其內部函數的作用,將其分為以下幾類,具體見下圖。(1)對象創建pandas中有兩種重要對象:Series和DataFrame。前者類似一維數組,後者可看成Excel中的表格數據。後文將用df表示任意的DataFrame對象,用s表示任意的Series對象,用pd表示pandas庫。
  • 十分鐘學習pandas!pandas常用操作總結!
    學習Python, 當然少不了pandas,pandas是python數據科學中的必備工具,熟練使用pandas是從sql boy/girl 跨越到一名優秀的數據分析師傅的必備技能。這篇pandas常用操作總結幫大家回顧下pandas的常用語法,尤其是我們分析數據時常用的方法。
  • 如果你也用「pandas.read_csv」處理文本,這幾個參數你應該掌握
    我相信使用pandas的同學們,基本都會用到這個方法:read_csv()。這個方法確實簡單易用,但是內置參數特別多,所以今天就分享下這個方法的一些使用技巧。str類型,默認為",",read_table默人分隔符為"\t",可以使用正則表達式,我遇到過這種header將行號用作列名,且是數據的開頭。默認情況下,首行作為列名。如果指定數字,則代表著此數字的那一行作為列名。
  • 從小白到大師,這裡有一份Pandas入門指南
    在這種情況下,聚合方法是「unique」方法,但它也可以接受任何(匿名)函數。在 0.25 版本中,Pandas 引入了使用 agg 的新方法:https://dev.pandas.io/whatsnew/v0.25.0.html#groupby-aggregation-with-relabeling。
  • Pandas的介紹與基本使用
    3.4.1、分組(GroupBY機制)pandas對象(無論Series、DataFrame還是其他的什麼)當中的數據會根據提供的一個或者多個鍵被拆分為多組,拆分操作實在對象的特定軸上執行的。就比如DataFrame可以在他的行上或者列上進行分組,然後將一個函數應用到各個分組上並產生一個新的值。最後將所有的執行結果合併到最終的結果對象中。
  • 第5章 精通pandas合併操作(使用pandas進行數據分析,)
    >df = pd.read_csv('data/table.csv')df.head()一、append與assign1. append方法(a)利用序列添加行(必須指定name)df_temp = pd.DataFrame({'Gender':['F','M'],'Height':[188,176]},index=['new_1','new_2'])df_append.append(df_temp)2. assign方法該方法主要用於添加列,
  • PANDAS: 新手教程 一 - 人工智慧遇見磐創
    pandas提供不同的函數來讀取不同格式的數據。最常用的是read_csv( )這允許你讀取CSV文件。pd.read_csv('path_to_your_csv_file.csv')panda提供了不同的選項來配置列名、數據類型或要讀取的行數。
  • Pandas transform函數
    Pandas是一個很有用的庫,它包含了大量用於操作數據的內置函數。其中,transform()在處理行或列時非常有用。在本文中,我們將介紹以下最常用的Pandas transform()用途:轉換值組合groupby()過濾數據在組級別處理缺失值請查看我的Github repo以獲取原始碼;https://github.com/BindiChen/machine-learning/blob/master/data-analysis/013-pandas-transform/pandas-transform.ipynb
  • python時間序列分析之_用pandas中的rolling函數計算時間窗口數據
    如下面的示意圖所示,其中時間序列數據代表的是15日每日的溫度,現在我們以3天為一個窗口,將這個窗口從左至右依次滑動,統計出3天的平均值作為這個點的值,比如3號的溫度就是1號、2號、3號的平均溫度,通過示意圖我們已經理解了滑動窗口,下面我們就看看pandas中使用的函數及各參數的含義。
  • python項目實踐分享:使用pandas處理大型CSV文件
    在pandas中用函數isnull()和notnull()來檢測數據是否丟失。(2)DataFrame 類似於電子表格,其數據為排好序的數據列的集合,每一列都可以是 不同的數據類型,它類似於一個二維數據結構,支持行和列的索引。
  • MySQL資料庫的分組操作,語句拼接,列轉行操作
    本文介紹MySQL資料庫的分組操作,語句拼接,列轉行操作。非主鍵列),要麼是group by 後面的列,要麼需要在函數中示例group by 錯誤select user,host from mysql.user group by user;報錯內容ERROR 1055