python - 在动态 Python 数据框中绘制多个条形图
问题描述
我有一个如下所示的数据框“网格”:
COLUMN_NM DISTINCT_COUNT MAX_COL_VALUE MIN_COL_VALUE NULL_COUNT
COL_A 123 456 111 56
COL_B 15678 222 4 3456
COL_C 18994 456 76 43
...
COLUMN_NM 中的数据是动态的,因为此 DataFrame 加载了不同的表进行分析。我想要做的是绘制驻留在 DataFrame 中的当前数据。我想要一个 DISTINCT_COUNT 的条形图,另一个 MAX_COL_VALUE 等......所有每列。所以 COLUMN_NM 将沿 x 轴表示
到目前为止,我所拥有的显然是不正确的,但是您对我正在尝试做的事情有所了解。
distinct = grid[('COLUMN_NM', 'DISTINCT_COUNT')].plot(kind=bar)
max_col = grid[('COLUMN_NM', 'MAX_COL_VALUE')].plot(kind=bar)
min_col = grid[('COLUMN_NM', 'MIN_COL_VALUE')].plot(kind=bar)
null_cnt = grid[('COLUMN_NM', 'NULL_COUNT')].plot(kind=bar)
我有所有必要的导入语句。我希望输出是 4 个图表,并且在我得到这个工作后我可以指定更多的条形图参数。另外,将其包装在 for 循环或函数中会更容易吗?
解决方案
是的,我建议循环执行此操作:
for col in ['DISTINCT_COUNT', 'MAX_COL_VALUE', 'MIN_COL_VALUE', 'NULL_COUNT']:
grid[['COLUMN_NM', col]].set_index('COLUMN_NM').plot.bar(title=col)
您的代码的问题是:
grid[('COLUMN_NM', 'DISTINCT_COUNT')]
不起作用,因为您使用的是元组,而不是[(...)]
您想[[...]]
选择列的子集- 您还希望将条形分组 (
COLUMN_NM
) 的列设置为索引
推荐阅读
- c# - EF 核心 2.2 - 投影作为通用存储库错误的参数
- python - Python Pandas 从行中删除
- java - mapbox中的全球位置搜索在android上不起作用
- javascript - if else if 语句没有按我想象的方式工作
- sql-server - 使用 Case 语句字段填充参数
- verilog - 流式连接
- xml - XSLT 1.0:按属性分组并连接属性值
- php - 通过特定键将多个多维数组相交并使用两个数组中的所有数据获取结果
- python - 确定错误的值并在列之间移动它们
- sql-server - 找不到 SQL Server 2019 的 DReplay.exe