Pandas DataFrame Groupby两个列并计数

Pandas DataFrame Groupby两个列并计数

在本文中,我们将介绍如何使用Pandas DataFrame将数据按两个列分组,并计算每个组中每个类别的数量。

首先,我们需要创建一个示例数据集,以便更好地演示如何使用Pandas进行组合和计数。

import pandas as pd

data = {'State': ['CA', 'CA', 'CA', 'NY', 'NY', 'FL'], 
        'City': ['San Francisco', 'San Francisco', 'Los Angeles', 'New York', 'Buffalo', 'Miami']}

df = pd.DataFrame(data)

这将创建一个具有州名和城市名的DataFrame。

  State           City
0    CA  San Francisco
1    CA  San Francisco
2    CA    Los Angeles
3    NY       New York
4    NY        Buffalo
5    FL          Miami

接下来,我们将按州和城市对DataFrame进行分组,并计算每个组中的计数。

grouped = df.groupby(['State', 'City']).size().reset_index(name='Counts')

这将创建一个具有州名,城市名和计数的新DataFrame。

  State           City  Counts
0    CA    Los Angeles       1
1    CA  San Francisco       2
2    FL          Miami       1
3    NY        Buffalo       1
4    NY       New York       1

我们还可以根据计数对结果进行排序。

grouped.sort_values(['Counts'], ascending=False, inplace=True)

这将按计数值降序排序组合后的DataFrame。

  State           City  Counts
1    CA  San Francisco       2
0    CA    Los Angeles       1
2    FL          Miami       1
4    NY       New York       1
3    NY        Buffalo       1

最后,我们可以使用Pandas的plot功能创建一个水平条形图来可视化结果。

import matplotlib.pyplot as plt

grouped.plot(x='City', y='Counts', kind='barh', figsize=(10,5))

plt.show()

这将创建一个水平条形图,显示每个城市每个州的计数。

阅读更多:Pandas 教程

总结

在本文中,我们介绍了如何使用Pandas DataFrame对两个列进行分组,并计算每个组中每个类别的数量。我们还展示了如何使用Pandas的plot功能可视化结果。Pandas是一个功能强大的Python库,用于处理和分析数据。在处理数据时,Pandas使得分组,计数和可视化变得简单。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程