Pandas dataframe中如何创建value_counts的列

Pandas dataframe中如何创建value_counts的列

在本文中,我们将介绍如何在Pandas的dataframe中创建value_counts的列。在数据分析时,我们经常需要了解数据中出现频率最高的值,在Pandas中我们可以使用value_counts()函数来实现这个目的。有时候,我们需要将value_counts结果作为一个新的列来添加到原始的dataframe中。

阅读更多:Pandas 教程

使用Pandas的value_counts函数

在使用value_counts()函数之前,我们需要对Pandas的dataframe有一定的掌握,以下是Pandas dataframe的简单回顾:

import pandas as pd

df = pd.DataFrame({
   'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva', 'Frank'],
   'age': [25, 32, 18, 47, 21, 29],
   'department': ['HR', 'IT', 'IT', 'Sales', 'HR', 'IT']
})

上面的代码创建了一个包含姓名、年龄和部门的dataframe。下面是dataframe的输出结果:

      name  age department
0    Alice   25         HR
1      Bob   32         IT
2  Charlie   18         IT
3    David   47      Sales
4      Eva   21         HR
5    Frank   29         IT

我们可以使用value_counts()函数来计算每个部门出现的次数:

df['department'].value_counts()

输出结果如下:

IT       3
HR       2
Sales    1
Name: department, dtype: int64

从输出结果中我们可以看出,IT部门出现了3次,HR部门出现了2次,Sales部门出现了1次。

添加value_counts的列到dataframe中

除了使用value_counts()函数查看值的出现频率,我们还可以使用它的结果作为一个新的列,将其添加到原始的dataframe中。代码如下:

df['department_counts'] = df['department'].value_counts()

输出结果如下:

      name  age department  department_counts
0    Alice   25         HR                  2
1      Bob   32         IT                  3
2  Charlie   18         IT                  3
3    David   47      Sales                  1
4      Eva   21         HR                  2
5    Frank   29         IT                  3

可以看到,添加了一个新的列’department_counts’到原始的dataframe中,该列包含了每个部门出现的次数。正如我们所期望的,IT部门出现了3次,HR部门出现了2次,Sales部门出现了1次。

使用apply函数实现同样的目的

除了直接将value_counts()函数的结果作为一个新的列添加到dataframe中,我们还可以使用apply()函数来实现同样的目的。代码如下:

df['department_counts'] = df['department'].apply(lambda x: (df['department'] == x).sum())

输出结果同上:

      name  age department  department_counts
0    Alice   25         HR                  2
1      Bob   32         IT                  3
2  Charlie   18         IT                  3
3    David   47      Sales                  1
4      Eva   21         HR                  2
5    Frank   29         IT                  3

可以看到,输出结果和上面直接使用value_counts()函数的结果相同。

总结

本文介绍了在Pandas的dataframe中创建value_counts的列的两种方法:直接将value_counts()函数的结果作为一个新的列添加到dataframe中,以及使用apply()函数实现相同的目的。Pandas可以在处理数据时提供很多好用的函数,掌握这些函数是进行数据分析的关键。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程