5种高效应用value-counts函数的方法,一键提升数据发掘姿态程度
作者头像
  • 信烁良金
  • 2019-11-25 14:08:19 0

如何利用Pandas的value_counts()函数提升数据探索效率

数据挖掘是机器学习领域的重要部分。在选择和训练合适的模型之前,我们需要对数据有一个全面的理解。Pandas库提供了许多有用的函数,其中value_counts()是一个特别有用的工具,它可以帮助我们了解数据集中各项的数量。尽管在大多数情况下,默认参数已经足够使用,但通过自定义参数,我们可以实现更多功能。

value_counts()

value_counts()方法返回一个包含每个值数量的序列。简单来说,对于数据框中的任何列,value_counts()方法会返回该列每个项目的计数。

语法

python Series.value_counts()

参数

| 参数名 | 描述 | |----------|----------------------------------------------------| | normalize | 返回对象是否包含各个值的相对频率 | | bins | 将连续数据分组到离散区间 | | dropna | 是否排除缺失值 | | ascending | 排序方式,True表示升序,False表示降序 |

基本用法

本文作者使用了泰坦尼克号数据集来演示value_counts()的基本用法。为了更好地理解数据集,我们首先导入必要的库和数据集。

```python

导入必要的库

import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline

读取数据

train = pd.read_csv('../input/titanic/train.csv') ```

接下来,查看数据集的前几行:

```python

查看数据集的前几行

train.head() ```

然后,统计有效值的数量:

```python

统计有效值的数量

train.isnull().sum() ```

通过这些分析,我们对数据集有了初步的了解。现在,我们将使用value_counts()对数据集进行更深入的探索。

默认参数值下的value_counts()

首先,在数据集的“Embarked”列上使用value_counts()方法,统计每个值的数量。

```python

统计Embarked列的值

train['Embarked'].value_counts() ```

结果显示,“S”代表南安普敦出发的人最多,其次是“C”代表瑟堡和“Q”代表昆士敦。

如何计算相对频率

有时,百分比比单纯的计数更能体现数量之间的相对关系。当设置normalize=True时,返回的对象将包含各个值的相对频率。

```python

计算Embarked列的相对频率

train['Embarked'].value_counts(normalize=True) ```

结果显示,72%的人从南安普敦出发,这比单纯知道644个人从南安普敦出发更为直观。

如何实现升序的value_counts()

默认情况下,value_counts()返回的序列是降序排列的。我们可以通过设置ascending=True将其变为升序。

```python

实现Embarked列的升序排列

train['Embarked'].value_counts(ascending=True) ```

结果显示,按升序排列后,昆士敦的数量最少。

如何计算NaN值的计数

默认情况下,value_counts()不会计算缺失值。但通过设置dropna=False,我们可以计算缺失值的数量。

```python

计算Embarked列的缺失值数量

train['Embarked'].value_counts(dropna=False) ```

结果显示,该列中有2个缺失值。

如何将连续数据放入离散区间

value_counts()还支持将连续数据放入离散区间。这在处理数值型数据时非常有用。例如,将票价(Fare)列的数据分为不同的区间。

```python

将Fare列的数据分组到不同区间

train['Fare'].value_counts(bins=7) ```

结果显示,大多数人支付的票价低于73.19。此外,我们还可以发现,有五个区间是我们需要关注的,而最后两个区间则没有乘客。

通过以上方法,我们可以更好地理解和分析数据集,从而为后续的数据分析和建模提供有力的支持。

    本文来源:图灵汇
责任编辑: : 信烁良金
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
一键发掘函数姿态高效程度提升方法应用数据
    下一篇