如何使用datetime.date为数据框中的一天中的行范围编制索引?

djnz0feh

我的多索引数据框如下:

df.head()
                         Output  
Unit    Timestamp                                               
1   2016-06-01 00:00:00  225894.9
    2016-06-01 01:00:00  225895.9
    2016-06-01 02:00:00  225896.9   
    2016-06-01 03:00:00  225897.9 
    2016-06-01 04:00:00  225898.9 

df.tail()

                         Output 
Unit Timestamp                                               
16  2016-06-30 18:00:00  150543.1        
    2016-06-30 19:00:00  150544.1        
    2016-06-30 21:00:00  150546.1        
    2016-06-30 22:00:00  150547.1     
    2016-06-30 23:00:00  150548.1  

也就是说,一个月的每小时数据可用于16个单位。

我想挑选给定单位的一天数据。我有一系列出现在数据框中的日期,

days = array([datetime.date(2016, 6, 1), datetime.date(2016, 6, 2), datetime.date(2016, 6, 3), datetime.date(2016, 6, 4),...

如果我这样做了df.ix[5,'2016-06-10'],我就会得到我想要的东西,那就是该日期第5单元的日期

                       Output
Timestamp
2016-06-10 00:00:00    152364.6
2016-06-10 01:00:00    152365.7
2016-06-10 02:00:00    152366.6
...
2016-06-10 21:00:00    152386.6
2016-06-10 22:00:00    152386.6
2016-06-10 23:00:00    152387.6

但是当我有一个datetime.date对象而不是一个字符串时,相同的索引似乎不起作用。例如:

tenth = days[9]撤消至datetime.date(2016, 6, 10),到目前为止效果良好。

但是,当我这样做时,会df.ix[5,tenth]收到“ KeyError:您没有名为2016-06-10的商品”

因此,'2016-06-10'“按我的意思做”并返回当天的所有数据。如果使用datetime.date,我该怎么做?

海盗

当您将看起来像日期时间的字符串传递给pandas选择器时ix,它将像条件一样使用它并返回所有满足条件的元素。在这种情况下,您使用的字符串将计算为一天。熊猫运行ix并返回当天的所有行。传递datetime对象时,它会寻找完全匹配的对象。您没有一个,因为您所有的日期时间都不是零时。

考虑:

s = pd.Series(range(5), pd.date_range('2016-03-31 01:00:00', periods=5, freq='H'))
s

2016-03-31 01:00:00    0
2016-03-31 02:00:00    1
2016-03-31 03:00:00    2
2016-03-31 04:00:00    3
2016-03-31 05:00:00    4
Freq: H, dtype: int64

获取所有元素 '2016-03-31'

s.ix['2016-03-31']

2016-03-31 01:00:00    0
2016-03-31 02:00:00    1
2016-03-31 03:00:00    2
2016-03-31 04:00:00    3
2016-03-31 05:00:00    4
Freq: H, dtype: int64

现在分配一个日期时间

date = pd.to_datetime('2016-03-31')

s.ix[date]

和...

KeyError: Timestamp('2016-03-31 00:00:00')

相反,如果我们分配了一个确实匹配的日期时间,那么我们应该得到一个结果。

date2 = pd.to_datetime('2016-03-31 02:00:00')

然后

s.ix[date2]

返回值:

1

奏效了!

要使用日期时间并使它看起来很漂亮,请使用以下函数:

d2s = lambda d: d.strftime('%Y-%d-%m')

然后

s.ix[d2s(date)]

2016-03-31 01:00:00    0
2016-03-31 02:00:00    1
2016-03-31 03:00:00    2
2016-03-31 04:00:00    3
2016-03-31 05:00:00    4
Freq: H, dtype: int64

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用数据框的列值为多索引数据框的行编制索引

来自分类Dev

如何从一天的索引匹配中获取全天数据

来自分类Dev

如何在熊猫数据框中填充前一天的非空值

来自分类Dev

如何为数据框中的每个单独类别绘制一周中的每一天

来自分类Dev

从DateTime对象中减去一天

来自分类Dev

如何在不删除值的情况下按日期范围为熊猫数据框重新编制索引

来自分类Dev

如何使用PHP date()函数格式化输入字段以形成一天中的时间?

来自分类Dev

如何在旋转框中按行而不是按字符号编制索引?

来自分类Dev

如何获取月份中的一天

来自分类Dev

如何使用 Pandas 从一天中删除 15 分钟的数据

来自分类Dev

使用 DateTime 值过滤前一天的数据

来自分类Dev

熊猫-Python 2.7:如何将时间序列索引转换为一天中的秒?

来自分类Dev

如何在Android中以毫秒为单位获取一天中的小时数

来自分类Dev

如何在Haystack中为CommentsField编制索引?

来自分类Dev

如何在特定时区的DateTime中添加一天

来自分类Dev

如何将pyspark dateframe中的datetime列转换为mont的第一天

来自分类Dev

鉴于NOW(),您如何在MySQL中获取每周第一天的DATETIME对象?

来自分类Dev

在mysql表的datetime字段中添加一天

来自分类Dev

在mysql表的datetime字段中添加一天

来自分类Dev

如何使用ChartJS获取一组Date对象并根据一天中的时间显示频率

来自分类Dev

如何选择一天中每小时的最后一行?

来自分类Dev

在熊猫数据框中,如何将所有索引标签(类型为DatetimeIndex)转换为datetime.datetime?

来自分类Dev

python使用datetime(datetime.date)和timedelta获取UTC的前一天日期

来自分类Dev

在SQL / LookerML中,如何测量一组天的平均计数,每一天都有自己的数据点

来自分类Dev

如何从C#中的日期计算一天的开始和一天的结束

来自分类Dev

如何在猫鼬节点js中每周的每一天查找数据

来自分类Dev

如何从Google Analytics(分析)API中获取非抽样数据-即使是一天?

来自分类Dev

您如何从Oracle表中检索前一天的数据?

来自分类Dev

如何从最后一天的数据库 scadalts 中获取值

Related 相关文章

  1. 1

    使用数据框的列值为多索引数据框的行编制索引

  2. 2

    如何从一天的索引匹配中获取全天数据

  3. 3

    如何在熊猫数据框中填充前一天的非空值

  4. 4

    如何为数据框中的每个单独类别绘制一周中的每一天

  5. 5

    从DateTime对象中减去一天

  6. 6

    如何在不删除值的情况下按日期范围为熊猫数据框重新编制索引

  7. 7

    如何使用PHP date()函数格式化输入字段以形成一天中的时间?

  8. 8

    如何在旋转框中按行而不是按字符号编制索引?

  9. 9

    如何获取月份中的一天

  10. 10

    如何使用 Pandas 从一天中删除 15 分钟的数据

  11. 11

    使用 DateTime 值过滤前一天的数据

  12. 12

    熊猫-Python 2.7:如何将时间序列索引转换为一天中的秒?

  13. 13

    如何在Android中以毫秒为单位获取一天中的小时数

  14. 14

    如何在Haystack中为CommentsField编制索引?

  15. 15

    如何在特定时区的DateTime中添加一天

  16. 16

    如何将pyspark dateframe中的datetime列转换为mont的第一天

  17. 17

    鉴于NOW(),您如何在MySQL中获取每周第一天的DATETIME对象?

  18. 18

    在mysql表的datetime字段中添加一天

  19. 19

    在mysql表的datetime字段中添加一天

  20. 20

    如何使用ChartJS获取一组Date对象并根据一天中的时间显示频率

  21. 21

    如何选择一天中每小时的最后一行?

  22. 22

    在熊猫数据框中,如何将所有索引标签(类型为DatetimeIndex)转换为datetime.datetime?

  23. 23

    python使用datetime(datetime.date)和timedelta获取UTC的前一天日期

  24. 24

    在SQL / LookerML中,如何测量一组天的平均计数,每一天都有自己的数据点

  25. 25

    如何从C#中的日期计算一天的开始和一天的结束

  26. 26

    如何在猫鼬节点js中每周的每一天查找数据

  27. 27

    如何从Google Analytics(分析)API中获取非抽样数据-即使是一天?

  28. 28

    您如何从Oracle表中检索前一天的数据?

  29. 29

    如何从最后一天的数据库 scadalts 中获取值

热门标签

归档