CSV中的Pandas和python日期时间戳
我有一个潮汐数据的csv文件,其中有一个未收集数据的缺口。看起来是这样的:CSV中的Pandas和python日期时间戳,python,csv,datetime,pandas,Python,Csv,Datetime,Pandas,我有一个潮汐数据的csv文件,其中有一个未收集数据的缺口。看起来是这样的: datetime,tidal_water_level 2014-05-13 00:00:00,0.008 2014-05-13 01:00:00,-0.283 2014-05-13 02:00:00,-0.491 2014-05-13 03:00:00,-0.557 ... df Out[103]: timesta
datetime,tidal_water_level
2014-05-13 00:00:00,0.008
2014-05-13 01:00:00,-0.283
2014-05-13 02:00:00,-0.491
2014-05-13 03:00:00,-0.557
...
df
Out[103]:
timestamp tide_height
0 2014-05-13 01:00:00 -0.283
1 2014-05-13 02:00:00 -0.491
2 2014-05-13 03:00:00 -0.557
...
等
我将其加载到数据帧的第一步是:
import matplotlib.pyplot as plt
import datetime as dt
headers = ['timestamp', 'tide_height']
dtypes = [dt.datetime, float]
df = pd.read_csv('tides_clean.csv', names=headers, dtype=dtypes, header=1, parse_dates=True)
这是我从其他各种例子中总结出来的。它抱怨dt.datetime不被理解
如果删除dtype参数,则如下所示:
datetime,tidal_water_level
2014-05-13 00:00:00,0.008
2014-05-13 01:00:00,-0.283
2014-05-13 02:00:00,-0.491
2014-05-13 03:00:00,-0.557
...
df
Out[103]:
timestamp tide_height
0 2014-05-13 01:00:00 -0.283
1 2014-05-13 02:00:00 -0.491
2 2014-05-13 03:00:00 -0.557
...
请问,如何将时间序列数据本身作为日期时间类型而不是索引使用?e、 g.绘图时间v。潮汐,而不是指数v。潮水
我尝试:
plt.散射(x=df.时间戳,y=df.潮汐高度)
得到一个空的1.0 x 1.0平方图加上一个误差,因此:
ValueError:第一个参数必须是序列
我的最终目标是将数据重新采样到不同的采样频率,但这似乎是我的第一个障碍。您只需要这样做,pandas就会理解数据类型:
import pandas as pd
df = pd.read_csv('df.csv', parse_dates = True, index_col = 0)
然后,df.plot()
将为您提供x轴上的时间序列图。如果希望将索引作为datetime对象访问,可以执行以下操作
df.index.to_pydatetime()
您只需要这样做,pandas就会理解数据类型:
import pandas as pd
df = pd.read_csv('df.csv', parse_dates = True, index_col = 0)
然后,df.plot()
将为您提供x轴上的时间序列图。如果希望将索引作为datetime对象访问,可以执行以下操作
df.index.to_pydatetime()
非常感谢-我不理解index_col标志的意义,通过这个答案我学到了一些东西。非常感谢-我不理解index_col标志的意义,通过这个答案我学到了一些东西。