根据日期拆分数据框

use*_*827 4 python datetime pandas

我正在尝试根据日期将数据框分成两个。这已经解决了这里的一个相关问题:Split dataframe into two based on date

我的数据框如下所示:

               abcde     col_b
2008-04-10  0.041913  0.227050
2008-04-11  0.041372  0.228116
2008-04-12  0.040835  0.229199
2008-04-13  0.040300  0.230301
2008-04-14  0.039770  0.231421
Run Code Online (Sandbox Code Playgroud)

我如何根据日期拆分它(比如 2008-04-12 之前和之后)?当我尝试这个时:

df.loc[pd.to_datetime(df.index) <= split_date]
Run Code Online (Sandbox Code Playgroud)

这里split_datedatetime.date(2008-04-12),我得到这个错误:

*** TypeError: <class 'datetime.date'> type object 2008-04-12
Run Code Online (Sandbox Code Playgroud)

R.A*_*nna 5

从你的代码

其中 split_date 是 datetime.date(2008-04-12),我收到此错误

heredatetime.date()将参数作为2008,4,12 more 的格式。所以你应该写

split_date = datetime.date(2008,4,12)
Run Code Online (Sandbox Code Playgroud)

当您对输入进行采样时,第一列没有名称,因此您可以像这样访问第一列

df[(pd.to_datetime(df[df.columns[0]]) < split_date)]
Run Code Online (Sandbox Code Playgroud)

否则你给列名"date"或任何你想要的

df[(pd.to_datetime(df["date"]) < split_date)]
Run Code Online (Sandbox Code Playgroud)

最后

TypeError: <class 'datetime.date'> type object 2008-04-12

这是发生的基本上你试试这个datetime object系列df

更多