我有以下的源数据(其来自csv文件):水平条形图
ABC,2016-6-9 0:00,95,"{'//Purple': [115L], '//Yellow': [403L], '//Blue': [16L], '//White-XYZ': [0L]}"
ABC,2016-6-10 0:00,0,"{'//Purple': [219L], '//Yellow': [381L], '//Blue': [90L], '//White-XYZ': [0L]}"
ABC,2016-6-11 0:00,0,"{'//Purple': [817L], '//Yellow': [21L], '//Blue': [31L], '//White-XYZ': [0L]}"
ABC,2016-6-12 0:00,0,"{'//Purple': [80L], '//Yellow': [2011L], '//Blue': [8888L], '//White-XYZ': [0L]}"
ABC,2016-6-13 0:00,0,"{'//Purple': [32L], '//Yellow': [15L], '//Blue': [4L], '//White-XYZ': [0L]}"
DEF,2016-6-16 0:00,0,"{'//Purple': [32L], '//Black': [15L], '//Pink': [4L], '//NPO-Green': [3L]}"
DEF,2016-6-17 0:00,0,"{'//Purple': [32L], '//Black': [15L], '//Pink': [4L], '//NPO-Green': [0L]}"
DEF,2016-6-18 0:00,0,"{'//Purple': [32L], '//Black': [15L], '//Pink': [4L], '//NPO-Green': [7L]}"
DEF,2016-6-19 0:00,0,"{'//Purple': [32L], '//Black': [15L], '//Pink': [4L], '//NPO-Green': [14L]}"
DEF,2016-6-20 0:00,0,"{'//Purple': [32L], '//Black': [15L], '//Pink': [4L], '//NPO-Green': [21L]}"
我使用How to remove curly braces, apostrophes and square brackets from dictionaries in a Pandas dataframe (Python)到数据转换为一个数据帧,我可以用来绘制某些变量。数据帧如下所示(注:不一样的数据,什么是源csv文件,但结构是一样的):
Company Date Code Yellow Blue White Black
0 ABC 2016-6-9 115 403 16 19 472
1 ABC 2016-6-10 219 381 90 20 2474
2 ABC 2016-6-11 817 21 31 88 54
3 ABC 2016-6-12 80 2011 8888 0 21
4 ABC 2016-6-13 21 15 46 20 56
5 DEF 2016-6-16 64 42 76 4 41
6 DEF 2016-6-17 694 13 84 50 986
7 DEF 2016-6-18 325 485 38 60 174
8 DEF 2016-6-19 418 35 174 251 11
9 DEF 2016-6-20 50 56 59 19 03
我需要创建颜色的几个时间序列图(我可以非常容易地完成数据框架的构建)。
但是,我也希望能够在特定日期(例如参见https://stanford.edu/~mwaskom/software/seaborn/examples/horizontal_barplot.html)中生成一个水平条形图。
例如,使用我的数据,截至2016年6月9日,在酒吧情节看起来如下(不按比例):
Black: ********************************
Yellow: **************************
White: ***
Blue: **
我遇到的问题是,列名(例如“黄色”,“蓝色”,“白色”和“黑色”)可以改变,列数也可以改变。
是否有人知道是否有可能通过一定数量的列到'代码'列的右边循环,然后使用它们来创建类似于上面的水平条形图?或者,也许可以在“代码”列右侧的数据中分一部分?或者,数据框本身是否需要以不同的方式进行构造,以便它可以用于制作时间序列图和水平条形图?
谢谢!