计算Pandas数据框架中项目集的频率

计算Pandas数据框架中项目集的频率

在这篇文章中,我们将解释如何在Pandas中计算给定的DataFrame中项目集的频率。使用count()、size()方法、Series.value_counts()和pandas.Index.value_counts()方法,我们可以计算给定DataFrame中项目集的频率数量。在这里,我们将解释几个如何在实践中使用这些函数的例子。

Raw Data:

计算Pandas数据框架中项目集的频率

示例 1:

使用Series.value_counts()。这个方法适用于pandas.Series对象。由于每个DataFrame对象都是一个Series对象的集合,我们可以应用这个方法来获得一列中数值的频率计数。

import pandas as pd
 
df = pd.DataFrame({
    'A': ['Box', 'Color', 'Pencil', 'Eraser',
          'Color', 'Pencil', 'Eraser', 'Color',
          'Color', 'Eraser', 'Eraser', 'Pencil'],
 
    'B': ['Jammu', 'Kolkata', 'Bihar', 'Gujarat',
          'Kolkata', 'Bihar', 'Jammu', 'Bihar',
          'Gujarat', 'Jammu', 'Kolkata', 'Bihar']
})
 
count = df['A'].value_counts()
display(count)
 
count = df['B'].value_counts()
display(count)

输出:

计算Pandas数据框架中项目集的频率

示例2:使用Pandas dataframe.size()

它返回一个元素的总数,它通过乘以shape方法返回的行和列来进行比较。

import pandas as pd
 
df = pd.DataFrame({
    'A': ['Box', 'Color', 'Pencil', 'Eraser',
          'Color', 'Pencil', 'Eraser', 'Color',
          'Color', 'Eraser', 'Eraser', 'Pencil'],
 
    'B': ['Jammu', 'Kolkata', 'Bihar', 'Gujarat',
          'Kolkata', 'Bihar', 'Jammu', 'Bihar',
          'Gujarat', 'Jammu', 'Kolkata', 'Bihar']
})
 
freq = df.groupby(['A']).size()
display(freq)
 
freq = df.groupby(['B']).size()
display(freq)

输出:

计算Pandas数据框架中项目集的频率

例子3:使用Pandas reset_index()

它是一个重置数据帧索引的方法。 reset_index()方法设置一个从0到数据长度的整数列表作为索引。

import pandas as pd
 
df = pd.DataFrame({
    'A': ['Box', 'Color', 'Pencil', 'Eraser',
          'Color', 'Pencil', 'Eraser', 'Color',
          'Color', 'Eraser', 'Eraser', 'Pencil'],
 
    'B': ['Jammu', 'Kolkata', 'Bihar', 'Gujarat',
          'Kolkata', 'Bihar', 'Jammu', 'Bihar',
          'Gujarat', 'Jammu', 'Kolkata', 'Bihar']
})
 
 
freq = df.groupby(['A'])['B'].agg('count').reset_index()
display(freq)
 
freq = df.groupby(['B'])['A'].agg('count').reset_index()
display(freq)

输出:

计算Pandas数据框架中项目集的频率

示例4:使用Pandas dataframe.count()

它用于计算给定轴上的非NA/null观察值的数量。它也适用于非浮动类型的数据。

import pandas as pd
 
df = pd.DataFrame({
    'A': ['Box', 'Color', 'Pencil', 'Eraser',
          'Color', 'Pencil', 'Eraser', 'Color',
          'Color', 'Eraser', 'Eraser', 'Pencil'],
 
    'B': ['Jammu', 'Kolkata', 'Bihar', 'Gujarat',
          'Kolkata', 'Bihar', 'Jammu', 'Bihar',
          'Gujarat', 'Jammu', 'Kolkata', 'Bihar']
})
 
freq = df.groupby(['A']).count()
display(freq)
 
freq = df.groupby(['B']).count()
display(freq)

输出:

计算Pandas数据框架中项目集的频率

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程