Code: Select all
import matplotlib.pyplot as plt
import pandas as pd
sample_df = pd.DataFrame()
sample_df["Date"] = [ "2002-12-31 01:00:00", "2002-06-06 10:00:00", "2003-11-10 19:00:00",
"2003-04-15 04:00:00", "2004-09-19 14:00:00", "2004-02-24 23:00:00",
"2005-07-30 08:00:00", "2005-01-03 17:00:00", "2006-06-08 02:00:00",
"2007-11-12 11:00:00", "2007-04-18 20:00:00", "2008-09-21 06:00:00",
"2008-02-26 15:00:00", "2009-08-03 00:00:00", "2009-01-05 09:00:00",
"2010-06-11 19:00:00", "2011-11-14 04:00:00", "2011-04-20 13:00:00",
"2012-09-24 23:00:00", "2012-02-28 08:00:00", "2013-08-04 17:00:00",
"2013-01-07 02:00:00", "2014-06-13 09:00:00", "2015-11-17 18:00:00",
"2015-04-22 01:00:00", "2016-09-26 09:00:00", "2016-03-02 18:00:00",
"2017-08-06 01:00:00", "2017-01-10 10:00:00", "2018-01-16 19:00:00" ]
sample_df["Energy_MW"] = [ 26498.0, 39167.0, 36614.0, 21837.0, 26644.0,
33574.0, 30255.0, 33781.0, 24344.0, 34708.0,
33996.0, 21127.0, 36255.0, 31982.0, 35448.0,
37066.0, 22116.0, 31326.0, 26569.0, 33565.0,
34649.0, 25709.0, 33516.0, 33032.0, 22333.0,
28064.0, 33905.0, 25304.0, 41505.0, 39543.0 ]
sample_df = sample_df.set_index("Date")
# Basic plot.
fig = plt.figure( figsize = (10,5) )
plt.plot(sample_df.index, sample_df["Energy_MW"], 'b')
plt.grid(True)
plt.show()
Szenario 2: DateTime Index
import matplotlib.pyplot as plt
import pandas as pd
sample_df = pd.DataFrame()
sample_df["Date"] = [ "2002-12-31 01:00:00", "2002-06-06 10:00:00", "2003-11-10 19:00:00",
"2003-04-15 04:00:00", "2004-09-19 14:00:00", "2004-02-24 23:00:00",
"2005-07-30 08:00:00", "2005-01-03 17:00:00", "2006-06-08 02:00:00",
"2007-11-12 11:00:00", "2007-04-18 20:00:00", "2008-09-21 06:00:00",
"2008-02-26 15:00:00", "2009-08-03 00:00:00", "2009-01-05 09:00:00",
"2010-06-11 19:00:00", "2011-11-14 04:00:00", "2011-04-20 13:00:00",
"2012-09-24 23:00:00", "2012-02-28 08:00:00", "2013-08-04 17:00:00",
"2013-01-07 02:00:00", "2014-06-13 09:00:00", "2015-11-17 18:00:00",
"2015-04-22 01:00:00", "2016-09-26 09:00:00", "2016-03-02 18:00:00",
"2017-08-06 01:00:00", "2017-01-10 10:00:00", "2018-01-16 19:00:00" ]
sample_df["Energy_MW"] = [ 26498.0, 39167.0, 36614.0, 21837.0, 26644.0,
33574.0, 30255.0, 33781.0, 24344.0, 34708.0,
33996.0, 21127.0, 36255.0, 31982.0, 35448.0,
37066.0, 22116.0, 31326.0, 26569.0, 33565.0,
34649.0, 25709.0, 33516.0, 33032.0, 22333.0,
28064.0, 33905.0, 25304.0, 41505.0, 39543.0 ]
sample_df = sample_df.set_index("Date")
sample_df.index = pd.to_datetime(sample_df.index)
# Basic plot.
fig = plt.figure( figsize = (10,5) )
plt.plot(sample_df.index, sample_df["Energy_MW"], 'b')
plt.grid(True)
plt.show()
< /code>
Und dies ist das Diagramm, das einem DateTime -Index entspricht: < /p>
Warum wird die Konvertierung in ein DateTime -Objekt die Ergebnisse drastisch verschlimmern? Wie löste ich das Problem? Bitte erklären Sie in einfachen Worten. Ich habe versucht, in beiden Szenarien grafische Ergebnisse zu erzielen, um die Quelle des Problems zu finden. Ich möchte einige Ideen sehen, wie Sie das richtige Diagramm erhalten, wenn auch der Index den richtigen Datentyp (DateTime) hat. Ich bin auch auf ein YouTube -Video gestoßen, das denselben Datensatz und die gleiche Zeitserie abdeckt. In dem Video habe ich trotz der Tatsache, dass der Index des Datenrahmens in den richtigen Datentyp konvertiert wurde>