Python时间戳作为索引

Fel*_*ich 5 python timestamp matplotlib pandas

因为我现在正在写我的硕士论文,所以我必须第一次使用 Python。为了用时间戳索引我的数据,我尝试了以下方法,但实际上并不奏效。好吧,也许确实如此,但是通过timestemp访问数据真是太愚蠢了。也许有人可以帮助我做下一步,以便我使用时间戳访问数据,以便我可以将我的年度数据分成几个月。

import pandas as pd
import numpy as np
import matplotlib.pylab as plt
from matplotlib import pyplot
import datetime as dt
from matplotlib.pylab import rcParams
import datetime
rcParams['figure.figsize'] = 15, 6

data = pd.read_csv('PhelixPowerSpotHistory_2015.csv')
data['Delivery Date']=pd.to_datetime(data['Delivery Date'])
#data['Time']= pd.to_datetime(data.DeliveryDate)
#print (data.head())
print(data.head(10))
from datetime import datetime
ts = data['PriceEUR/MWh']
print(ts.head(10))


import matplotlib.pyplot as plt
plt.plot(ts)
plt.ylabel('€/MWh')
plt.xlabel('Delivery Date')
plt.xticks(np.linspace(0,8721,12))
plt.show()
Run Code Online (Sandbox Code Playgroud)

我的数据头部如下所示:

0 2015-01-01 00:00:00         25.02
1 2015-01-01 01:00:00         18.29
2 2015-01-01 02:00:00         16.04
3 2015-01-01 03:00:00         14.60
4 2015-01-01 04:00:00         14.95
5 2015-01-01 05:00:00         14.50
6 2015-01-01 06:00:00         10.76
7 2015-01-01 07:00:00         12.01
8 2015-01-01 08:00:00         12.39
9 2015-01-01 09:00:00         14.04
Run Code Online (Sandbox Code Playgroud)

提前致谢

Joe*_*Joe 10

我不太清楚您想要的输出是什么,但要按日期访问数据,您可以这样做:

\n\n
df[\'delivery date\'] = pd.to_datetime(df[\'delivery date\']) # convert column to datetime object\ndf.set_index(\'delivery date\', inplace=True) # set column \'date\' to index\n
Run Code Online (Sandbox Code Playgroud)\n\n

访问一天的数据:

\n\n
print (df.loc[\'2015-01-01 00:00:00\']) \n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
\xe2\x82\xac/MWh    25.02\n
Run Code Online (Sandbox Code Playgroud)\n\n

并绘制:

\n\n
df.plot()\nplt.show()\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n\n

所有 df:

\n\n
                       \xe2\x82\xac/MWh\ndelivery date               \n2015-01-01 00:00:00    25.02\n2015-01-01 01:00:00    18.29\n2015-01-01 02:00:00    16.04\n2015-01-01 03:00:00    14.60\n2015-01-01 04:00:00    14.95\n2015-01-01 05:00:00    14.50\n2015-01-01 06:00:00    10.76\n2015-01-01 07:00:00    12.01\n2015-01-01 08:00:00    12.39\n2015-01-01 09:00:00    14.04\n
Run Code Online (Sandbox Code Playgroud)\n