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


Python pyspark Index.value_counts用法及代码示例


本文简要介绍 pyspark.pandas.Index.value_counts 的用法。

用法:

Index.value_counts(normalize: bool = False, sort: bool = True, ascending: bool = False, bins: None = None, dropna: bool = True) → Series

返回包含唯一值计数的系列。生成的对象将按降序排列,以便第一个元素是最常出现的元素。默认情况下排除 NA 值。

参数

normalize布尔值,默认为 False

如果为 True,则返回的对象将包含唯一值的相对频率。

sort布尔值,默认 True

按值排序。

ascending布尔值,默认为 False

按升序排列。

bins尚不支持
dropna布尔值,默认 True

不包括 NaN 的计数。

返回

countsSeries

例子

对于系列

>>> df = ps.DataFrame({'x':[0, 0, 1, 1, 1, np.nan]})
>>> df.x.value_counts()  
1.0    3
0.0    2
Name: x, dtype: int64

normalize 设置为 True 时,通过将所有值除以值的总和来返回相对频率。

>>> df.x.value_counts(normalize=True)  
1.0    0.6
0.0    0.4
Name: x, dtype: float64

dropnadropna调成False我们还可以看到NaN索引值。

>>> df.x.value_counts(dropna=False)  
1.0    3
0.0    2
NaN    1
Name: x, dtype: int64

对于索引

>>> idx = ps.Index([3, 1, 2, 3, 4, np.nan])
>>> idx
Float64Index([3.0, 1.0, 2.0, 3.0, 4.0, nan], dtype='float64')
>>> idx.value_counts().sort_index()
1.0    1
2.0    1
3.0    2
4.0    1
dtype: int64

种类

sort 设置为 False 时,结果不会按计数排序。

>>> idx.value_counts(sort=True).sort_index()
1.0    1
2.0    1
3.0    2
4.0    1
dtype: int64

标准化

normalize 设置为 True 时,通过将所有值除以值的总和来返回相对频率。

>>> idx.value_counts(normalize=True).sort_index()
1.0    0.2
2.0    0.2
3.0    0.4
4.0    0.2
dtype: float64

dropna

dropna 设置为 False 后,我们还可以看到 NaN 索引值。

>>> idx.value_counts(dropna=False).sort_index()  
1.0    1
2.0    1
3.0    2
4.0    1
NaN    1
dtype: int64

对于多索引。

>>> midx = pd.MultiIndex([['lama', 'cow', 'falcon'],
...                       ['speed', 'weight', 'length']],
...                      [[0, 0, 0, 1, 1, 1, 2, 2, 2],
...                       [1, 1, 1, 1, 1, 2, 1, 2, 2]])
>>> s = ps.Series([45, 200, 1.2, 30, 250, 1.5, 320, 1, 0.3], index=midx)
>>> s.index  
MultiIndex([(  'lama', 'weight'),
            (  'lama', 'weight'),
            (  'lama', 'weight'),
            (   'cow', 'weight'),
            (   'cow', 'weight'),
            (   'cow', 'length'),
            ('falcon', 'weight'),
            ('falcon', 'length'),
            ('falcon', 'length')],
           )
>>> s.index.value_counts().sort_index()
(cow, length)       1
(cow, weight)       2
(falcon, length)    2
(falcon, weight)    1
(lama, weight)      3
dtype: int64
>>> s.index.value_counts(normalize=True).sort_index()
(cow, length)       0.111111
(cow, weight)       0.222222
(falcon, length)    0.222222
(falcon, weight)    0.111111
(lama, weight)      0.333333
dtype: float64

如果索引有名称,请保持名称。

>>> idx = ps.Index([0, 0, 0, 1, 1, 2, 3], name='pandas-on-Spark')
>>> idx.value_counts().sort_index()
0    3
1    2
2    1
3    1
Name: pandas-on-Spark, dtype: int64

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.Index.value_counts。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。