在动态Python数据帧中绘制多个条形图
我有一个数据帧“网格”,看起来像这样:在动态Python数据帧中绘制多个条形图,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个数据帧“网格”,看起来像这样: 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
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
...
列_NM中的数据是动态的,因为此数据帧加载了不同的表进行分析。我要做的是绘制驻留在DataFrame中的当前数据。我想要一个用于不同计数的条形图,另一个用于最大列值等…所有这些都是每列。因此,列_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\u NM','DISTINCT\u COUNT')]
您希望[(…)]
选择列的子集[…]
- 您还需要将要对条进行分组的列(
)设置为索引column\u NM
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\u NM','DISTINCT\u COUNT')]
您希望[(…)]
选择列的子集[…]
- 您还需要将要对条进行分组的列(
)设置为索引column\u NM