【发布时间】:2020-11-17 23:15:22
【问题描述】:
-
我将离散分布的示例用作 matplotlib Discrete distribution as horizontal bar chart 上的水平条形图示例来创建一个图表,显示 2017 年什罗普郡选举中的投票份额。
-
但是,由于我不知道如何操作数据,我不得不在程序中手动输入我的数据,这显然是我自己的无知。
-
我在 CSV 文件中有相关数据,因此可以将其作为数据框加载。
- CSV 中每个选区都有一行,其中有 63 行,每个党(保守党、LD、工党、绿党、独立党)的投票百分比列有 5 个实质性列。
-
我想获得有关如何更改数据形式的建议,使其类似于此图表的输入。
-
我不确定它是什么,但似乎可能是具有键和值的字典类型:
我的数据部分读取:
import pandas as pd
import matplotlib.pyplot as plt
category_names = ['Labour', 'LD', 'Indep', 'Green', 'Tory']
results = {'Abbey': [16, 56, 4,0, 24],
'Albrighton': [0, 0, 32, 0, 68],
'Alveley & Claverley': [0, 25, 0, 0, 75],
'Bagley': [30, 30, 0, 0, 40],
'Battlefield': [34, 0, 0, 9, 57],
'Bayston Hill, Column & Sutton': [53, 4, 3, 7, 33],
'Belle Vue': [43,28,0,5,24]}
# setup dataframe using the dict provided in the OP
df = pd.DataFrame(results, index=category_names)
# display(df)
Abbey Albrighton Alveley & Claverley Bagley Battlefield Bayston Hill, Column & Sutton Belle Vue
Labour 16 0 0 30 34 53 43
LD 56 0 25 30 0 4 28
Indep 4 32 0 0 0 3 0
Green 0 0 0 0 9 7 5
Tory 24 68 75 40 57 33 24
-
当作为 pandas 数据框输入时,我试图直接从 csv 文件中获取要像这样格式化的数据。
-
尝试了 values 方法和
to_dict方法,虽然它们得到的数据看起来相似,但它们并不完全正确。- 我认为有必要将数据划分为键和值,但这正是我的知识达到极限的地方。
【问题讨论】:
标签: python pandas matplotlib data-transform