是否有任何方法可以将这个数据帧转换成一个折线图,其中每个TypeLoc都有一条单独的线,在python中使用pandas测量Y轴上的值,以及x轴上的年份? 我已经尝试了很多方法,但是对python非常陌生,所以没有取得任何进展。 我花了大约5个小时想弄明白,这似乎是最好的提问地点
TESTDATA = StringIO("""DateCode;Value;TypeLoc;Expend_or_Visit;
2014;186;Seaside - beach;Expenditure;
2019;1456;Small town;Expenditure;
2016;4916;All areas;Expenditure;
2018;5474;All areas;Expenditure;
2013;217;Seaside - beach;Expenditure;
2018;6;Seaside - other;Expenditure;
2018;1234;Small town;Expenditure;
2015;230;Seaside resort or town;Expenditure;
2016;302;Seaside resort or town;Expenditure;
2019;359;Seaside resort or town;Expenditure;
2017;458;Seaside resort or town;Expenditure;
2015;3922;All areas;Expenditure;
2014;5020;All areas;Expenditure;
2013;4647;All areas;Expenditure;
2016;1037;Small town;Expenditure;
2013;68;Seaside - other;Expenditure;
2013;1035;Small town;Expenditure;
2017;46;Seaside - beach;Expenditure;
2019;35;Seaside - other;Expenditure;
2015;914;Small town;Expenditure;
2016;32;Seaside - other;Expenditure;
2016;249;Seaside - beach;Expenditure;
2015;36;Seaside - other;Expenditure;
2014;128;Seaside - other;Expenditure;
2017;75;Seaside - other;Expenditure;
2015;81;Seaside - beach;Expenditure;
2019;237;Seaside - beach;Expenditure;
2018;151;Seaside - beach;Expenditure;
2019;457;Village;Expenditure;
2015;308;Village;Expenditure;
2019;3400;City/large town;Expenditure;
2018;3111;City/large town;Expenditure;
2017;1377;Small town;Expenditure;
2017;883;Village;Expenditure;
2014;1398;Small town;Expenditure;
2014;2873;City/large town;Expenditure;
2015;2254;City/large town;Expenditure;
2017;3379;City/large town;Expenditure;
2016;2630;City/large town;Expenditure;
2014;286;Seaside resort or town Expenditure;
2013;2850;City/large town;Expenditure;
2013;206;Seaside resort or town;Expenditure;
2017;778;Rural countryside;Expenditure;
2016;520;Rural countryside;Expenditure;
2017;5995;All areas;Expenditure;
2019;429;Rural countryside;Expenditure;
2015;402;Rural countryside;Expenditure;
2018;228;Seaside resort or town;Expenditure;
2018;502;Rural countryside;Expenditure;
2016;482;Village;Expenditure;
2014;510;Village;Expenditure;
2018;651;Village;Expenditure;
2013;483;Village;Expenditure;
2014;612;Rural countryside;Expenditure;
2019;5777;All areas;Expenditure;
2013;545;Rural countryside;Expenditure;
""")
链接到完整数据集https://docs.google.com/spreadsheets/d/1bRaq8I3JW6yZ0oucoVaFVH4ldd-HxAUZUBgeUk7KBgs/edit?usp=sharing
(我无法将其读入笔记本,因此手动输入所有内容。)
数据帧1:
*试图返回我的代码,以从中获取我的尝试- 这是我最好的尝试,距离现在还有几英里远:
df.set_index('TypeLoc', inplace=True)
df_expend = df_expend.transpose()
df_expend = df.query('Expend_or_Visit == "Expenditure"')
import matplotlib.pyplot as plt
df_expend.plot(kind='line')
plt.show()
这里有一个方法。您需要先透视数据帧,然后再绘制它:
在样本数据有限的情况下,输出为:
要针对较大的数据集(链接中的数据集)运行此代码,请使用:
输出如下。通过更改第二行上的条件,可以为访问创建单独的图表
相关问题 更多 >
编程相关推荐