使用pandas crosstab来创建条形图

您所在的位置:网站首页 pandas绘制时间序列图 使用pandas crosstab来创建条形图

使用pandas crosstab来创建条形图

2024-04-18 01:11| 来源: 网络整理| 查看: 265

使用pandas crosstab来创建条形图

在这篇文章中,我们将讨论如何在Python中使用pandas crosstab来创建柱状图。首先让我们了解一下crosstab,它是两个或多个变量的简单交叉分析。

什么是交叉分析法

它是一个简单的交叉表,帮助我们了解两个或多个变量之间的关系。它将使我们对数据有一个清晰的了解,并使分析变得更容易。

让我们举个例子,如果我们采取一个包括人民的国籍、性别、年龄和姓名的手性数据集。假设我们想分析国籍和人们的手性之间的关系。Crosstab给你提供了它们之间的关系。

使用pandas crosstab来创建条形图

使用pandas的交叉表

在创建柱状图之前,我们应该使用pandas创建交叉分析。

语法: pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False

代码:

# importing the pandas library import pandas as pd   # Reading the csv file and storing it # in a variable df = pd.read_csv('Data.csv')   # Crosstab function is called # 2 parameters are passed # The table is stored in a variable crosstb = pd.crosstab(df.Nationality, df.Handedness)

输出:

使用pandas crosstab来创建条形图

创建条形图

条形图多用于不同组别之间的比较,或跟踪一段时间内的变化。将柱状图用于串联表是总结串联表并对其进行更好分析的有效方法之一。

语法: DataFrame.plot.bar(x=None, y=None, **kwargs)

代码:

# importing the pandas library import pandas as pd   # Reading the csv file and storing it in a variable df = pd.read_csv('Data.csv')   # Creating crosstab crosstb = pd.crosstab(df.Nationality, df.Handedness)   # Creating barplot barplot = crosstb.plot.bar(rot=0)

输出:

使用pandas crosstab来创建条形图

堆积式柱状图

在这里,我们将通过数据框架创建一个堆叠的柱状图,将堆叠的参数传递为True。

Dataframe.plot(kind=”bar”, stacked = True, rot=0)

代码:

# importing the pandas library import pandas as pd   # Reading csv file df = pd.read_csv('Data.csv')   # Creating crosstab crosstb = pd.crosstab(df.Nationality, df.Handedness)   # Creating barplot pl = crosstb.plot(kind="bar", stacked=True, rot=0)

输出:

使用pandas crosstab来创建条形图

使用交叉表的两个以上的变量创建条形图

在上面的例子中,我们发现了国籍和人们的手性之间的关系。我们还可以创建一个有两个以上数值的串联表。我们将在下面的例子中实现这一点。

# importing the module import pandas as pd   # reading the csv file df = pd.read_csv('Data.csv')   # Crosstab with three variables crosstb = pd.crosstab(df.Sex, [df.Nationality,                                df.Handedness])   # Bar ploting a = crosstb.plot(kind='bar', rot=0) a.legend(title='Handedness', bbox_to_anchor=(1, 1.02),          loc='upper left')

输出:

使用pandas crosstab来创建条形图



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3