首页  >  文章  >  后端开发  >  如何在 Python 中使用不同结构的数据创建堆积条形图?

如何在 Python 中使用不同结构的数据创建堆积条形图?

Patricia Arquette
Patricia Arquette原创
2024-10-21 19:38:29861浏览

How to Create a Stacked Bar Chart in Python with Differently Structured Data?

用 Python 绘制堆积条形图

问题:

创建堆积条形图数据结构与示例电子表格不同。

DataFrame 包含站点名称和“滥用”或“NFF”事件的计数。目标是创建一个条形图,其中堆叠条形图按站点名称表示两种类型事件的事件数。数据以 CSV 文件形式给出。

解决方案:

要创建堆积条形图,您可以在绘图函数中使用 stacked=True 选项。关键是适当地构建数据。解决方案如下:

  1. 按“站点名称”和“滥用/NFF”对数据进行分组。
  2. 使用 count 方法对每个组中的出现次数进行计数。
  3. 使用 unstack 方法创建一个多索引 DataFrame,以站点名称为索引,事件类型为列。
  4. 使用 fillna 方法将任何缺失值填充为 0。
  5. 最后,使用 stacked=True 选项调用绘图方法来创建堆叠条形图。
<code class="python"># Import necessary libraries
import pandas as pd
import matplotlib.pyplot as plt

# Read CSV file
df = pd.read_csv('data.csv')

# Group data and count occurrences
df2 = df.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0)

# Plot stacked bar chart
df2[['abuse','nff']].plot(kind='bar', stacked=True)
plt.show()</code>

这应该生成具有所需格式的堆叠条形图。

以上是如何在 Python 中使用不同结构的数据创建堆积条形图?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn