一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

2021-12-30 00:27Wumbuk Python

筆者最近正在學(xué)習(xí)Pandas數(shù)據(jù)分析,將自己的學(xué)習(xí)筆記做成一套系列文章。本節(jié)主要記錄Pandas中使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視。感興趣的小伙伴們可以參考一下

前言

筆者最近正在學(xué)習(xí)Pandas數(shù)據(jù)分析,將自己的學(xué)習(xí)筆記做成一套系列文章。本節(jié)主要記錄Pandas中使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視。

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

 

一、經(jīng)過統(tǒng)計(jì)得到多維度指標(biāo)數(shù)據(jù)

非常場景的統(tǒng)計(jì)場景,指定多個(gè)維度,計(jì)算聚合后的指標(biāo)
實(shí)例:統(tǒng)計(jì)得到“電影評分?jǐn)?shù)據(jù)集”,每個(gè)月份的每個(gè)分?jǐn)?shù)被評分多少次:(月份、分?jǐn)?shù)1-5、次數(shù))

import pandas as pd
import numpy as np
%matplotlib inline
df=pd.read_csv(
      "./datas/ml-1m/ratings.dat",
  sep="::",
  engine='python',
  names='UserID::MovieID::Rating::Timestamp'.split("::"),
  header=None
)
df.head()

#將時(shí)間戳轉(zhuǎn)換為具體的時(shí)間
df['padate']=pd.to_datetime(df["Timestamp"],unit='s')
df.head()

df.dtypes

#實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì) 
# 對于這樣格式的數(shù)據(jù),我想查看按月份,不同評分的次數(shù)趨勢,是沒有辦法進(jìn)行實(shí)現(xiàn)的,需要將數(shù)據(jù)轉(zhuǎn)換為每個(gè)評分是一列才可以實(shí)現(xiàn)。
df_group=df.groupby([df["padate"].dt.month,"Rating"])["UserID"].agg(pv=np.sum) 
df_group.head(20)


Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

 

二、使用unstack實(shí)現(xiàn)數(shù)據(jù)的二維透視

目的: 想要畫圖對比按照月份的不同評分的數(shù)量趨勢

df_stack=df_group.unstack()
df_stack

df_stack.plot()

#unstack和stack是互逆的操作
df_stack.stack().head(20)

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

 

三、使用pivot簡化透視

pivot方法相當(dāng)于對df使用set_index創(chuàng)建分層索引,然后調(diào)用unstack

df_group.head(20)

df_reset=df_group.reset_index()
df_reset.head()

df_pivot=df_reset.pivot("padate","Rating","pv")
df_pivot.head()

df_pivot.plot()

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

 

四、stack、unstack、pivot的語法

1.stack

stack:DataFrame.stack(level=-1,dropna=True),將column變成index,類似把橫放的書籍變成豎放
level=-1代表多層索引的最內(nèi)層,可以通過==0,1,2指定多層索引的對應(yīng)層

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

2.unstack

unstack:DataFrame.unstack(level=-1,fill_value=None),將index變成column,類似把豎放的書變成橫放

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

3.pivot

pivot:DataFrame.pivot(index=None,columns=None,values=None),指定index,columns,values實(shí)現(xiàn)二維透視

Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法

 

總結(jié)

到此這篇關(guān)于Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法的文章就介紹到這了,更多相關(guān)Pandas stack和pivot數(shù)據(jù)透視內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qq_48081868/article/details/120106843

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费看成人毛片日本久久 | 国产黄频在线观看高清免费 | 国产精品国产高清国产专区 | 国产精彩对白综合视频 | 无人区在线观看免费完整版免费 | avtt一区| hezyo加勒比一区二区三区 | 9色视频在线观看 | 国产一区日韩二区欧美三区 | 肉宠文很肉到处做1v1 | 久久黄色录像 | 国产在线精品成人一区二区三区 | 极品ts赵恩静和直男激战啪啪 | 久久国产精品福利影集 | 邪恶肉肉全彩色无遮琉璃神社 | 男人好大好硬好爽免费视频 | 国产精品va在线观看无 | 欧美一卡2卡3卡四卡海外精品 | 国产伦久视频免费观看视频 | 亚洲AV无码专区国产精品麻豆 | 海角社区在线视频 | 91短视频版高清在线观看免费 | 亚洲精品短视频 | 亚洲精品视频在线免费 | 久久婷婷五月综合色丁香 | 99精品久久久久久 | 99久女女精品视频在线观看 | 欧美区视频 | 国产精品久久久久无毒 | 国产香蕉一区二区精品视频 | 男人把j放进女人的p里视频 | 国产一卡2卡3卡四卡高清 | 青草视频在线观看视频 | 91国内精品久久久久怡红院 | 狠狠色狠狠色综合日日小蛇 | 91资源在线视频 | 国产精品久久久久久久福利院 | 亚洲欧美日韩国产一区图片 | 五月色天在线视频综合观看 | 欧美另类videos另类粗暴 | 手机能看的黄色网站 |