当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。