[英]Stacked plot from pandas dataframe
我想从以下数据框中创建一个堆积的条形图:
VALUE COUNT RECL_LCC RECL_PI
0 1 15686114 3 1
1 2 27537963 1 1
2 3 23448904 1 2
3 4 1213184 1 3
4 5 14185448 3 2
5 6 13064600 3 3
6 7 27043180 2 2
7 8 11732405 2 1
8 9 14773871 2 3
情节中将有2条。 一个用于RECL_LCC,另一个用于RECL_PI。 每个栏中将有3个部分,分别对应于RECL_LCC和RECL_PI中的唯一值,即1,2,3,并将每个部分的COUNT相加。 到目前为止,我有这样的事情:
df = df.convert_objects(convert_numeric=True)
sub_df = df.groupby(['RECL_LCC','RECL_PI'])['COUNT'].sum().unstack()
sub_df.plot(kind='bar',stacked=True)
但是,我得到这个情节:
关于如何获取2列(RECL_LCC和RECL_PI)而不是这3列的任何想法吗?
因此,您的问题是dtypes不是数字的,因此没有聚合函数像字符串一样起作用,因此您可以像这样转换每个有问题的列:
df['col'] = df['col'].astype(int)
或仅在df上调用convert_objects
:
df.convert_objects(convert_numeric=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.