Pandas 重塑(stack)和軸向旋轉(zhuǎn)(pivot)的實(shí)現(xiàn)
import numpy as np import pandas as pd from pandas import Series,DataFrame
一、重塑
- stack:將數(shù)據(jù)的列索引旋轉(zhuǎn)為行索引
- unstack:將數(shù)據(jù)的行索引旋轉(zhuǎn)為列索引
df = DataFrame({'水果':['蘋(píng)果','梨','草莓'],
'數(shù)量':[3,4,5],
'價(jià)格':[4,5,6]})
print(df)
價(jià)格 數(shù)量 水果
0 4 3 蘋(píng)果
1 5 4 梨
2 6 5 草莓
1.stack()
stack_df = df.stack() print(stack_df)
0 價(jià)格 4
數(shù)量 3
水果 蘋(píng)果
1 價(jià)格 5
數(shù)量 4
水果 梨
2 價(jià)格 6
數(shù)量 5
水果 草莓
dtype: object
2.unstack()
print(stack_df.unstack())
價(jià)格 數(shù)量 水果
0 4 3 蘋(píng)果
1 5 4 梨
2 6 5 草莓
3.通過(guò)level參數(shù)指定旋轉(zhuǎn)軸的層次(默認(rèn)level=-1)
print(stack_df.unstack(level=0))
0 1 2
價(jià)格 4 5 6
數(shù)量 3 4 5
水果 蘋(píng)果 梨 草莓
二、軸向旋轉(zhuǎn)(pivot)
pivot(index,columns,values):將index指定為行索引,columns是列索引,values則是DataFrame中的值
df = DataFrame({'水果種類(lèi)':['蘋(píng)果','蘋(píng)果','梨','梨','草莓','草莓'],
'信息':['價(jià)格','數(shù)量','價(jià)格','數(shù)量','價(jià)格','數(shù)量'],
'值':[4,3,5,4,6,5]})
print(df)
信息 值 水果種類(lèi)
0 價(jià)格 4 蘋(píng)果
1 數(shù)量 3 蘋(píng)果
2 價(jià)格 5 梨
3 數(shù)量 4 梨
4 價(jià)格 6 草莓
5 數(shù)量 5 草莓
將水果種類(lèi)作為行索引,將信息作為列索引
print(df.pivot('水果種類(lèi)','信息','值'))
信息 價(jià)格 數(shù)量
水果種類(lèi)
梨 5 4
蘋(píng)果 4 3
草莓 6 5
pivot可以用set_index和unstack等價(jià)的實(shí)現(xiàn)
print(df.set_index(['水果種類(lèi)','信息']).unstack())
值
信息 價(jià)格 數(shù)量
水果種類(lèi)
梨 5 4
蘋(píng)果 4 3
草莓 6 5
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python 給定的經(jīng)緯度標(biāo)注在地圖上的實(shí)現(xiàn)方法
今天小編就為大家分享一篇Python 給定的經(jīng)緯度標(biāo)注在地圖上的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Python使用正則匹配實(shí)現(xiàn)抓圖代碼分享
本文給大家分享的是個(gè)人的第一個(gè)作品,使用Python正則匹配實(shí)現(xiàn)抓圖代碼,非常的簡(jiǎn)單實(shí)用,推薦給大家,小伙伴們可以自由擴(kuò)展下。2015-04-04
Python?copy()與deepcopy()方法之間有什么區(qū)別
這篇文章主要介紹了Python中的copy()和deepcopy(),下面詳細(xì)介紹該內(nèi)容并附上詳細(xì)代碼,需要的朋友可以參考一下文章的具體內(nèi)容,希望對(duì)你有所幫助2022-10-10
django-rest-swagger對(duì)API接口注釋的方法
今天小編就為大家分享一篇django-rest-swagger對(duì)API接口注釋的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
python計(jì)算數(shù)字或者數(shù)組的階乘的實(shí)現(xiàn)
本文主要介紹了python計(jì)算數(shù)字或者數(shù)組的階乘,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
利用rest framework搭建Django API過(guò)程解析
這篇文章主要介紹了利用rest framework搭建Django API過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
手動(dòng)實(shí)現(xiàn)把python項(xiàng)目發(fā)布為exe可執(zhí)行程序過(guò)程分享
這篇文章主要介紹了手動(dòng)實(shí)現(xiàn)把python項(xiàng)目發(fā)布為exe可執(zhí)行程序過(guò)程分享,本文使用C語(yǔ)言實(shí)現(xiàn)了一個(gè)簡(jiǎn)潔的Python打包程序,需要的朋友可以參考下2014-10-10

