當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python cudf.DataFrame.unstack用法及代碼示例

用法:

DataFrame.unstack(level=- 1, fill_value=None)

旋轉一級或多級(必須是分層的)索引標簽。

將 df 的索引標簽的指定級別旋轉到結果的列標簽的最內層。

  • 如果df 的索引有多個級別,則返回一個Dataframe,其中指定的索引級別轉置到列級別。
  • 如果df 的索引隻有一個級別,則返回一個Series,所有列級別都以索引級別為軸。

參數

dfDataFrame
level級別名稱或索引,list-like

整數、名稱或列表,指定要透視的索引的一個或多個級別

fill_value

為與 Pandas 兼容而提供的非函數性參數。

返回

Series或DataFrame

例子

>>> df = cudf.DataFrame()
>>> df['a'] = [1, 1, 1, 2, 2]
>>> df['b'] = [1, 2, 3, 1, 2]
>>> df['c'] = [5, 6, 7, 8, 9]
>>> df['d'] = ['a', 'b', 'a', 'd', 'e']
>>> df = df.set_index(['a', 'b', 'd'])
>>> df
       c
a b d
1 1 a  5
  2 b  6
  3 a  7
2 1 d  8
  2 e  9

拆疊層‘a’:

>>> df.unstack('a')
        c
a       1     2
b d
1 a     5  <NA>
  d  <NA>     8
2 b     6  <NA>
  e  <NA>     9
3 a     7  <NA>

拆疊層‘d’:

>>> df.unstack('d')
        c
d       a     b     d     e
a b
1 1     5  <NA>  <NA>  <NA>
  2  <NA>     6  <NA>  <NA>
  3     7  <NA>  <NA>  <NA>
2 1  <NA>  <NA>     8  <NA>
  2  <NA>  <NA>  <NA>     9

取消堆疊多個級別:

>>> df.unstack(['b', 'd'])
      c
b     1           2           3
d     a     d     b     e     a
a
1     5  <NA>     6  <NA>     7
2  <NA>     8  <NA>     9  <NA>

取消堆疊單級索引 DataFrame :

>>> df = cudf.DataFrame({('c', 1): [1, 2, 3], ('c', 2):[9, 8, 7]})
>>> df.unstack()
c  1  0    1
      1    2
      2    3
   2  0    9
      1    8
      2    7
dtype: int64

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cudf.DataFrame.unstack。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。