Pandas 序列between_time()
方法
原文:https://www.studytonight.com/pandas/python-pandas-seriesbetween_time-method
在本教程中,我们将学习 PandasSeries.between_time()
方法使用该方法,我们可以选择一天中特定时间之间的值。它从原始的 Series 对象返回由指定日期范围组成的 Series,如果索引不是DatetimeIndex
,它将引发TypeError
。
下图显示了Series.between_time()
方法的语法。
句法
Series.between_time(start_time, end_time, include_start=True, include_end=True, axis=None)
因素
开始时间:表示作为时间过滤器限制的初始时间的datetime.time
或字符串。
结束时间:表示作为时间过滤器限制的结束时间的 d atetime.time
或字符串。
include_start: 代表 bool(真或假),默认值为 True。它指示开始时间是否需要包含在结果中。
include_end: 代表 bool(真或假),默认值为 True。表示结果中是否需要包含结束时间。
示例:从特定时间之间的序列中获取值
让我们用DatetimeIndex
创建一个序列,并使用Series.between_time()
方法获取特定时间之间的值。在这个例子中,我们得到了所有的值,因为我们分别在 '0:00'
和'2:00'
给出了start_time
和end_time
。见下面的例子。Series.between_time()
方法返回介于并包括start_time
和end_time
之间的值。
#importing pandas as pd
import pandas as pd
Values = pd.date_range('2021-04-01', periods=3, freq='50T')
series = pd.Series([1, 2, 3], index=Values)
print(series)
print("-----Selecting values---------")
print(series.between_time('0:00','2:00'))
2021-04-01 00:00:00 1 2021-04-01 00:50:00 2 2021-04-01 01:40:00 3 频率:50T,数据类型:int64 -选择值- 2021-04-01 00:00:00 1 2021-04-01 00
示例:从特定时间之间的序列中获取值
这个例子与上一个类似,改变周期、频率,并通过在Series.between_time()
方法中指定它们来尝试得到start_time
和end_time
之间的值。
#importing pandas as pd
import pandas as pd
Values = pd.date_range('2021-04-01', periods=4, freq='20T')
series = pd.Series([1, 2, 3, 4], index=Values)
print(series)
print("-----Selecting values---------")
print(series.between_time('0:00','0:40'))
2021-04-01 00:00:00 1 2021-04-01 00:20:00 2 2021-04-01 00:40:00 3 2021-04-01 01:00 4 Freq:20T,dtype: int64 -选择值- 2021-04-01 00
示例:在Series.between_time()
方法中将 include_start 和 include_end 设置为 False
在Series.between_time()
方法中,默认设置include_start
和include_end
参数为True
。因此,当我们试图获取特定时间之间的值时,Series.between_time()
方法会在输出中包含start_time
和end_time
。如果不想在结果中包含start_time
和end_time
,可以将include_start
和include_end
参数设置为 False。见下面的例子。
#importing pandas as pd
import pandas as pd
Values = pd.date_range('2021-04-01', periods=4, freq='20T')
series = pd.Series([1, 2, 3, 4], index=Values)
print(series)
print("-----Selecting values---------")
print(series.between_time('0:00','0:40',include_start=False,include_end=False))
2021-04-01 00:00:00 1 2021-04-01 00:20:00 2 2021-04-01 00:40:00 3 2021-04-01 01:00 4 Freq:20T,dtype: int64 -选择值- 2021-04-01 00
示例:Series.between_time()
提升TypeError
的方法
如果指数不是DataTimeIndex,
,DataFrame.between_time()
方法会提升TypeError.
见下例。
#importing pandas as pd
import pandas as pd
series = pd.Series([1, 2, 3, 4])
print(series.between_time('0:00','0:50'))
类型错误:索引必须是日期时间索引
结论
在本教程中,我们学习了 PandasSeries.between_time()
方法。我们理解了函数的语法和参数,并通过在数列上应用Series.between_time()
方法来求解示例,以获得指定时间之间的值。