Python 熊猫系列使用truncate获取指定的小时、分钟和秒?

Python 熊猫系列使用truncate获取指定的小时、分钟和秒?,python,pandas,Python,Pandas,我的数据 我想得到2020-01-13 08:00:00到2020-01-13 10:56:54 我尝试使用truncate,但get没有 data= [{"content": "11", "title": "刘德华", "info": "2020-01-13 08:56:54", "time": 1578877014}, {"content": "22", "title": "刘德", "info": "2020-01-24", "time": 157987

我的数据

我想得到2020-01-13 08:00:00到2020-01-13 10:56:54 我尝试使用truncate,但get没有

data= [{"content": "11", "title": "刘德华", "info": "2020-01-13 08:56:54", "time": 1578877014},
                  {"content": "22", "title": "刘德", "info": "2020-01-24", "time": 1579877014},
                  {"content": "33", "title": "apple", "info": "2020-02-28", "time": 1582877014},
                  {"content": "55", "title": "app", "info": "2020-02-17", "time": 1581877014},
                  {"content": "66", "title": "appstore", "info": "2019-06-30", "time": 1561877014},
                  {"content": "44", "title": "banana", "info": "2020-02-28", "time": 1582876014},
                  {"content": "aa", "title": "banana", "info": "2020-03-12 eee", "time": 1584000882},
                  {"content": "bb", "title": "Thursday data", "info": "2018-03-12 vvvv", "time": 1520842482},
                  {"content": "cc", "title": "banana", "info": "2020-03-14 xxx", "time": 1584154305},
                  {"content": "cc", "title": "banana", "info": "2019-03-14 aa", "time": 1552531905},
                  {"content": "cc", "title": "Thursday data", "info": "2020-03-19 data", "time": 1584586305},
                  {"content": "cc", "title": "Thursday data", "info": "2019-11-07 aaa", "time": 1573095105},

                  ]
但是使用truncate for 2020-01-13至2020-01-13 10:56:54已获得数据

s=pd.Series(data,index=pd.to_datetime([i['time'] for i in data],utc=True,  unit='s').tz_convert('Asia/Shanghai'))
s.truncate("2020-01-13 08:00:00","2020-01-13 10:56:54").tolist()
>>> []

参数:前后必须为2020-01-13 10:56:54

我相信您需要切片:

data],utc=True,  unit='s').tz_convert('Asia/Shanghai'))
s.truncate("2020-01-13","2020-01-13 10:56:54").tolist()
>>> [{"content": "11", "title": "刘德华", "info": "2020-01-13 08:56:54", "time": 1578877014}]
truncate
得到了一些错误,然后我纠正了它们,但我也没有得到任何值,我猜这是错误

s1 = s["2020-01-13 08:00:00":"2020-01-13 10:56:54"]
print (s1)

2020-01-13 08:56:54+08:00    {'content': '11', 'title': '刘德华', 'info': '202...
dtype: object
编辑:也被选中,它解释了为什么选择像
“2020-01-13 00:00:00”
“2020-01-13”

提供了一个类似于切片的truncate()便利函数。请注意,对于DatetimeIndex中任何未指定的日期组件,truncate都假定为0值,而切片则返回任何部分匹配的日期


切片必须使用DataFrame?@xin.chen-我认为切片是
[“2020-01-13 08:00:00”:“2020-01-13 10:56:54”]
s=pd.Series(data,index=pd.to_datetime([i['time'] for i in data],utc=True,  unit='s').tz_convert('Asia/Shanghai')).sort_index()
s1 = s.truncate(pd.to_datetime("2020-01-13 08:00:00").tz_localize('utc').tz_convert('Asia/Shanghai'),
                pd.to_datetime("2020-01-13 10:56:54").tz_localize('utc').tz_convert('Asia/Shanghai')).tolist()