我有以下的源數據(其來自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: **
我遇到的問題是,列名(例如「黃色」,「藍色」,「白色」和「黑色」)可以改變,列數也可以改變。
是否有人知道是否有可能通過一定數量的列到'代碼'列的右邊循環,然後使用它們來創建類似於上面的水平條形圖?或者,也許可以在「代碼」列右側的數據中分一部分?或者,數據框本身是否需要以不同的方式進行構造,以便它可以用於製作時間序列圖和水平條形圖?
謝謝!