Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按天/小时/分钟进行数据帧切片_Python_Pandas_Slice - Fatal编程技术网

Python 按天/小时/分钟进行数据帧切片

Python 按天/小时/分钟进行数据帧切片,python,pandas,slice,Python,Pandas,Slice,我有一个带有日期时间索引的数据帧,如“YYYY-MM-DD HH:MM:SS” Index Parameter 2007-05-02 14:14:08 134.8 2007-05-02 14:14:32 134.8 2007-05-02 14:14:41 134.8 2007-05-02 14:14:53 134.8 2007-05-02 14:15:01 134.8 2007-05-02 14:15:09 13

我有一个带有日期时间索引的数据帧,如“YYYY-MM-DD HH:MM:SS”

Index               Parameter
2007-05-02 14:14:08     134.8
2007-05-02 14:14:32     134.8 
2007-05-02 14:14:41     134.8 
2007-05-02 14:14:53     134.8 
2007-05-02 14:15:01     134.8 
2007-05-02 14:15:09     134.8 
......
2007-05-30 23:08:02     105.9 
2007-05-30 23:18:02     105.9 
2007-05-30 23:28:02     105.9 
2007-05-30 23:38:03     105.8 
可以按年份
df['2007']
或按月
df['2007-05']
对数据帧进行切片

但是当我尝试按天分割数据帧时,例如
df['2007-05-02']
,我得到了错误:

KeyError: < Timestamp: 2007-02-05 00:00:00. 
KeyError:

我使用熊猫版本8.0.1。是否有可能以小于年或月的频率分割数据帧?例如,按天或小时?

使用
df.ix[x:y]
其中
x
y
是日期时间对象

例如:

In [117]: frame.index.summary()
Out[117]: 'DatetimeIndex: 6312960 entries, 2000-04-05 00:01:00 to 2012-04-06 00:00:00\nFreq: T'


In [118]: x=datetime(2001, 4, 5, 0, 1)

In [119]: y=datetime(2001, 4, 5, 0, 5)

In [120]: print frame.ix[x:y]
                     radiation      tamb
2001-04-05 00:01:00  67.958873  8.077386
2001-04-05 00:02:00  50.801294  0.731453
2001-04-05 00:03:00  16.042035  6.944998
2001-04-05 00:04:00   5.678343  9.728967
2001-04-05 00:05:00  72.551601  7.652942
您也可以这样做:

In [121]: print frame.ix[x]
radiation    67.958873
tamb          8.077386
Name: 2001-04-05 00:01:00

有趣的是,按年或年-月索引的行为与按年-月-日索引的行为不同。对于年-月-日,仅考虑H:M:S=0:0:0的时间戳。顺便说一句,我想你是在处理一个系列,而不是一个数据帧。是的,但它能在不“击中”确切的索引点的情况下完成吗?例如,如果该系列以2007-05-02 14:14:08开始,则使用
x=pd进行索引。时间戳('2007-05-02 14:00:00')
仍会引发
KeyError