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_timeend_time 。见下面的例子。Series.between_time()方法返回介于并包括start_timeend_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_timeend_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_startinclude_end 参数为True。因此,当我们试图获取特定时间之间的值时,Series.between_time()方法会在输出中包含start_timeend_time 。如果不想在结果中包含start_timeend_time ,可以将include_startinclude_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() 方法来求解示例,以获得指定时间之间的值。