python - 如何在熊猫中绘制另一列的一列“用法”
问题描述
我想将一个变量绘制为常数,total_cap,在这种情况下,并在 maxused_capacity 和 meanused_capacity 值上分层。本质上,我想要一个堆积条形图的视觉效果,但我不希望总数聚集在一起,每个站点的条形高度应该只是 Total_Cap 的值,其他两个值分层
示例 df:
SITE Total_Cap maxused_Cap meanused_Cap
A 4 3 2
B 8 7 4
C 12 11 5
D 16 13 10
我尝试了这段代码,但它只是在绘制条形图时将值相加
x= df4[['SITE','maxused_cap','Total_Cap']]
y= x.set_index('SITE')
z=y.groupby('SITE')
z.plot.bar(stacked=True).mean()
plt.show()
解决方案
IIUC 这可以通过缩放相对于的值来实现您想要实现的目标Total_Cap
df.set_index('SITE', inplace=True)
df[['maxused_Cap','meanused_Cap']].div(
(df['maxused_Cap']+df['meanused_Cap'])/df['Total_Cap'],
axis=0).plot.bar(stacked=True, figsize=(8,6));
出去:
设置数据框
import pandas as pd
import io
t = '''
SITE Total_Cap maxused_Cap meanused_Cap
A 4 3 2
B 8 7 4
C 12 11 5
D 16 13 10'''
df = pd.read_csv(io.StringIO(t), sep='\s+')
df
出去:
SITE Total_Cap maxused_Cap meanused_Cap
0 A 4 3 2
1 B 8 7 4
2 C 12 11 5
3 D 16 13 10
推荐阅读
- excel - 导出 PHPExcel 写入长数字单元格 - 代码点火器
- c# - 如何在运行时加载 Blazor 页面?
- python - 按列分组,然后将最早的日期行过滤到新的数据框中
- react-redux - 带有 React 的 SweetAlert 未更新 jsx 文件中表单的输入字段中的值
- javascript - 如何在 React 中将状态传递给组件,而每个传递的状态都不是相同的引用
- python - 当我通过 selenium / Python 使用 switch_to.window 时出现 InvalidArgumentException
- codeigniter - codeigniter ccavenue 支付集成处理取消按钮
- javascript - YouTube Data API v3“加载资源失败:服务器响应状态为 404 ()”
- python - 与 pip 版本冲突
- python - 我只需要选择字符串的一部分