python 透視表操作unstack

2021-10-01 02:34:59 字數 2883 閱讀 9145

data wrangling: join, combine,¶

# 第8章 資料規整:聚合、合併和重塑

# 在許多應⽤中,資料可能分散在許多⽂件或資料庫中,儲存的形

# 式也不利於分析。本章關注可以聚合、合併、重塑資料的⽅法。

import numpy as np

import pandas as pd

pd.options.display.max_rows =

20np.random.seed(

12345

)import matplotlib.pyplot as plt

plt.rc(

'figure'

, figsize=(10

,6))

np.set_printoptions(precision=

4, suppress=

true

)hierarchical indexing

8.1 層次化索引

# 層次化索引(hierarchical indexing)是pandas的⼀項重要功

# 能,它使你能在⼀個軸上擁有多個(兩個以上)索引級別。抽象

# 點說,它使你能以低維度形式處理⾼維度資料。

# 8.1 層次化索引

# 層次化索引(hierarchical indexing)是pandas的⼀項重要功

# 能,它使你能在⼀個軸上擁有多個(兩個以上)索引級別。抽象

# 點說,它使你能以低維度形式處理⾼維度資料。

data = pd.series(np.random.randn(9)

, index=[[

'a',

'a',

'a',

'b',

'b',

'c',

'c',

'd',

'd'],[

1,2,

3,1,

3,1,

2,2,

3]])

data

a 1

-0.204708

20.4789433-

0.519439

b 1

-0.555730

31.965781

c 1

1.393406

20.092908

d 2

0.281746

30.769023

dtype: float64

data.index

multiindex(levels=[[

'a',

'b',

'c',

'd'],[

1,2,

3]],

labels=[[

0,0,

0,1,

1,2,

2,3,

3],[

0,1,

2,0,

2,0,

1,1,

2]])

data[

'b']

data[

'b':

'c']

data.loc[

['b'

,'d']]

data.loc[:,

2]# 層次化索引在資料重塑和基於分組的操作(如透視表⽣成)中扮

# 演著重要的⻆⾊。例如,可以通過unstack⽅法將這段資料重新

# 安排到⼀個dataframe中:

data.unstack()1

23a -0.204708

0.478943

-0.519439

b -0.555730 nan 1.965781

c 1.393406

0.092908 nan

d nan 0.281746

0.769023

##unstack的逆運算是stack:

data.unstack(

).stack(

)a 1

-0.204708

20.4789433-

0.519439

b 1

-0.555730

31.965781

c 1

1.393406

20.092908

d 2

0.281746

30.769023

dtype: float64

frame = pd.dataframe(np.arange(12)

.reshape((4

,3))

, index=[[

'a',

'a',

'b',

'b'],[

1,2,

1,2]

],columns=[[

'ohio'

,'ohio'

,'colorado'],

['green'

,'red'

,'green']]

)frame

frame.index.names =

['key1'

,'key2'

]frame.columns.names =

['state'

,'color'

]frame

frame[

'ohio'

]multiindex.from_arrays([[

'ohio'

,'ohio'

,'colorado'],

['green'

,'red'

,'green']]

, names=

['state'

,'color'

])

python 透視表和交叉表

pivot tables and cross tabulation python和pandas中,可以通過本章所介紹的groupby功能以及 能夠利 層次化索引的 重塑運算製作透視表。dataframe有 個pivot table 法,此外還有 個頂級的pandas.pivot table函 數。除...

python中pivot table 透視表例項

下面是python透視表的簡單例項,希望對學習這一塊的朋友們能夠有所幫助。import pandas as pd def pivot table data df pd.read csv data.csv 形成基礎的成績表 pivot df data df.pivot index usernum co...

透視表的用法python

參考 1,交叉表 index,columns必須要給定 index和columns是必須要指定的引數,margin為彙總專案,可以不要 也可以重新命名 pd.crosstab df.deptno,df.sal,margins true 2,透視表 pivot table 和excel中的透視表原理類...