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


Python pyspark melt用法及代碼示例

本文簡要介紹 pyspark.pandas.melt 的用法。

用法:

pyspark.pandas.melt(frame: pyspark.pandas.frame.DataFrame, id_vars: Union[Any, Tuple[Any, …], List[Union[Any, Tuple[Any, …]]], None] = None, value_vars: Union[Any, Tuple[Any, …], List[Union[Any, Tuple[Any, …]]], None] = None, var_name: Union[str, List[str], None] = None, value_name: str = 'value') → pyspark.pandas.frame.DataFrame

將 DataFrame 從寬格式逆透視為長格式,可以選擇保留標識符變量集。

此函數可用於將 DataFrame 轉換為一種格式,其中一列或多列是標識符變量 ( id_vars ),而所有其他列(被視為測量變量 ( value_vars ))是行軸的 “unpivoted”,僅留下兩個非標識符列:‘variable’ 和‘value’。

參數

frameDataFrame
id_vars元組、列表或 ndarray,可選

用作標識符變量的列。

value_vars元組、列表或 ndarray,可選

要取消透視的列。如果未指定,則使用所有未設置為 id_vars 的列。

var_name標量,默認 ‘variable’

用於‘variable’ 列的名稱。如果沒有,它使用frame.columns.name 或‘variable’。

value_name標量,默認 ‘value’

用於‘value’ 列的名稱。

返回

DataFrame

未透視的 DataFrame 。

例子

>>> df = ps.DataFrame({'A': {0: 'a', 1: 'b', 2: 'c'},
...                    'B': {0: 1, 1: 3, 2: 5},
...                    'C': {0: 2, 1: 4, 2: 6}},
...                   columns=['A', 'B', 'C'])
>>> df
   A  B  C
0  a  1  2
1  b  3  4
2  c  5  6
>>> ps.melt(df)
  variable value
0        A     a
1        B     1
2        C     2
3        A     b
4        B     3
5        C     4
6        A     c
7        B     5
8        C     6
>>> df.melt(id_vars='A')
   A variable  value
0  a        B      1
1  a        C      2
2  b        B      3
3  b        C      4
4  c        B      5
5  c        C      6
>>> df.melt(value_vars='A')
  variable value
0        A     a
1        A     b
2        A     c
>>> ps.melt(df, id_vars=['A', 'B'])
   A  B variable  value
0  a  1        C      2
1  b  3        C      4
2  c  5        C      6
>>> df.melt(id_vars=['A'], value_vars=['C'])
   A variable  value
0  a        C      2
1  b        C      4
2  c        C      6

‘variable’ 和 ‘value’ 列的名稱可以自定義:

>>> ps.melt(df, id_vars=['A'], value_vars=['B'],
...         var_name='myVarname', value_name='myValname')
   A myVarname  myValname
0  a         B          1
1  b         B          3
2  c         B          5

相關用法


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