OUTLINE
pivot()的用途可以簡單理解為:
將一個DataFrame的記錄數據整合成表格(類似Excel中的數據透視表功能),而且是按照pivot(‘index=xx’,’columns=xx’,’values=xx’)來整合的。
還有另外一種寫法,但是官方貌似並沒有給出來,就是pivot(‘索引列’,‘列名’,‘值’)。
數據變化圖示:
官方文檔:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot_table.html
(在數據分析的時候要記得將pivot結果reset_index())
函數說明
DataFrame.pivot(index=None, columns=None, values=None) 功能:重塑數據(產生一個“pivot”表格)以列值為標准。使用來自索引/列的唯一的值(去除重復值)為軸形成dataframe結果。 為了精細調節控制,可以看和stack/unstack方法有關的分層索引文件。 在數據分析的時候要記得將pivot結果reset_index()。 參數:index : string or object, optional 用於創建新框架索引的列名稱。 如果沒有,則使用現有的索引。 columns : string or object 用於創建新框架列的列名稱 values : string or object, optional 用於填充新框架值的列名稱。 如果未指定,則將使用所有剩余列,結果將具有分層索引列 返回:DataFrame
使用示例
下圖是進行數據重塑之前的數據集,數據集包含三個字段的內容,分別是:name, year, gdp
采用pivot函數對數據集進行重塑
#對數據進行重塑 df = df.pivot(index='name',columns='year',values='gdp') df = df.reset_index() df.fillna(1.0,inplace=True) df
df = df.pivot(index='name',columns='year',values='gdp')的功能 新數據集索引列 = 原數據集'name'列中的值 新數據集列名 = 原數據集‘year’列中的值 新數據集數據 = 原數據集'gdp'列中的值
轉換關系圖示:
文章出處:https://blog.csdn.net/cxd3341/article/details/105016903