查询指定日期范围内的 DataFrame 行
此问题解决了从包含以下内容的 DataFrame 中提取特定日期范围内的行的挑战:日期栏。提供的解决方案提供了两种实现此目的的方法。
方法 1:使用布尔掩码
要采用此方法,请确保 DataFrame 中的“日期”代表一个数据类型为 datetime64[ns] 的系列。采用以下步骤:
方法 2:分配 DatetimeIndex
最优涉及频繁选择日期的场景,此方法涉及将日期列设置为index:
示例:
利用响应中提供的代码,请考虑以下插图:
import pandas as pd df = pd.DataFrame({'date': pd.date_range('2023-03-01', periods=10)}) df['value'] = np.random.randn(10) # Boolean Mask Approach start_date = '2023-03-03' end_date = '2023-03-08' mask = (df['date'] > start_date) & (df['date'] <= end_date) df_subset = df.loc[mask] # DatetimeIndex Approach df = df.set_index('date') df_subset = df.loc[start_date:end_date]
这将产生两个 DataFrame,其中包含与指定日期对应的行范围。
以上是如何按日期范围有效过滤 DataFrame 行?的详细内容。更多信息请关注PHP中文网其他相关文章!