【问题标题】:Indexing by datetime pandas dataframe fail按日期时间熊猫数据框索引失败
【发布时间】:2017-02-08 18:30:33
【问题描述】:

我有以下数据框df

                          Candy       Apple      Banana
2016-09-14 19:00:00  109.202060  121.194138  130.372082
2016-09-14 20:00:00  109.199083  121.188817  130.380736
2016-09-14 21:00:00  109.198894  121.180553  130.366054
2016-09-14 22:00:00  109.192076  121.148722  130.307342
2016-09-14 23:00:00  109.184374  121.131068  130.276691
2016-09-15 00:00:00  109.191582  121.159304  130.316872
2016-09-15 01:00:00  109.183895  121.133062  130.269966
2016-09-15 02:00:00  109.193550  121.174708  130.337563
2016-09-15 03:00:00  109.196597  121.153076  130.274463
2016-09-15 04:00:00  109.195608  121.168936  130.276042
2016-09-15 05:00:00  109.211957  121.208946  130.330430
2016-09-15 06:00:00  109.210598  121.214454  130.365404
2016-09-15 07:00:00  109.224667  121.285534  130.508604
2016-09-15 08:00:00  109.220784  121.248828  130.389024
2016-09-15 09:00:00  109.199448  121.155439  130.212834
2016-09-15 10:00:00  109.226648  121.276439  130.427642
2016-09-15 11:00:00  109.239957  121.311719  130.462447

我想用过去 6 小时的数据创建第二个数据框。

df.index = pd.to_datetime(df.index,infer_datetime_format=True)

last_row = df.tail(1).index

six_hour = last_row - timedelta(hours=6)

df_6hr = df.loc[six_hour:last_row]
print df_6hr

我收到以下错误:

文件“pandas/tslib.pyx”,第 298 行,位于 pandas.tslib.Timestamp。 (pandas/tslib.c:9013)
文件“pandas/tslib.pyx”,第 1330 行,在 pandas.tslib.convert_to_tsobject (pandas/tslib.c:25826)

TypeError:无法将输入转换为时间戳

怎么没用?

【问题讨论】:

    标签: python datetime dataframe


    【解决方案1】:

    您需要添加[0],因为您需要选择列表的第一项:

    last_row = df.tail(1).index[0]
    print (last_row)
    2016-09-15 11:00:00
    

    last_row = df.tail(1).index
    print (last_row)
    DatetimeIndex(['2016-09-15 11:00:00'], dtype='datetime64[ns]', freq=None)
    

    更好的解决方案是通过[-1] 选择索引的最后一个值:

    last_row = df.index[-1]
    print (last_row)
    2016-09-15 11:00:00
    

    【讨论】:

    • 感谢工作...为什么我必须添加 [0]?输出不是只有 1 行吗?
    • 很高兴能帮到你!
    猜你喜欢
    • 2021-05-03
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2021-03-12
    • 2019-02-11
    • 2019-03-11
    • 1970-01-01
    相关资源
    最近更新 更多