使用 Pandas 绘制堆积条形图
问题:
如何创建一个带熊猫的堆积条形图,类似于提供的图像?我当前的数据框由“网站名称”和“滥用/NFF”计数的单独列组成,我无法排列数据或生成堆积条形图。
解决方案:
1。数据准备:
通过按“站点名称”和“滥用/NFF”对数据进行分组并计算每个组合的出现次数来创建新的数据框。
2 。堆叠数据:
使用 .unstack() 方法创建一个堆叠数据框,以“站点名称”作为索引,“滥用/NFF”作为列。
3.填充缺失值:
使用 .fillna(0) 方法用零填充缺失值来处理任何缺失值。
4.绘制条形图:
使用 .plot() 方法,将 kind 参数设置为 'bar',将 stacked 参数设置为 True 来生成堆积条形图。
Python 代码:
<code class="python">import pandas as pd import matplotlib.pyplot as plt # Create a dataframe from the CSV file df = pd.read_csv("data.csv") # Group by "Site Name" and "Abuse/NFF" and count occurrences df2 = df.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0) # Plot the stacked bar chart df2[['abuse','nff']].plot(kind='bar', stacked=True) plt.show()</code>
输出:
结果图将类似于原始问题中提供的图像,显示堆叠计数每个“网站名称”对应“滥用”和“NFF”。
以上是如何在 Pandas 中使用分组数据创建堆积条形图?的详细内容。更多信息请关注PHP中文网其他相关文章!