小编典典
有两种可能的解决方案:
使用布尔型掩码,然后使用 df.loc[mask]
将日期列设置为DatetimeIndex,然后使用 df[start_date : end_date]
使用布尔型掩码:
确保df['date']是dtype系列datetime64[ns]:
df['date'] = pd.to_datetime(df['date'])
制作一个布尔型面具。start_date并且end_date可以datetime.datetimeS, np.datetime64S,pd.TimestampS,甚至日期时间字符串:
#greater than the start date and smaller than the end date
mask = (df['date'] > start_date) & (df['date'] <= end_date)
选择子DataFrame:
df.loc[mask]
或重新分配给 df
df = df.loc[mask]
例如,
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.random((200,3)))
df['date'] = pd.date_range('2000-1-1', periods=200, freq='D')
mask = (df[