equ*_*ity 3 python datetime pandas
我有以下数据框:
Company Date Value
ABC 08/21/16 00:00:00 500
ABC 08/22/16 00:00:00 600
ABC 08/23/16 00:00:00 650
ABC 08/24/16 00:00:00 625
ABC 08/25/16 00:00:00 675
ABC 08/26/16 00:00:00 680
Run Code Online (Sandbox Code Playgroud)
如果我们假设 2016 年 8 月 26 日是今天的日期,那么我想创建一个新的数据框,有效排除 08/26/16 行中的数据。
编辑: 这是我的代码:
today = time.strftime("%m/%d/%Y")
df.Date = df.Date <> today
Run Code Online (Sandbox Code Playgroud)
不幸的是,我看到一条错误消息,指出:
'Series' object has no attribute 'Date'
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
谢谢!
解决方案:
today = time.strftime("%Y-%m-%d")
df = df.loc[(df.Date < today)]
Run Code Online (Sandbox Code Playgroud)
我认为您想要过滤早于指定日期出现的日期,尽管标题似乎具有误导性。您必须将Datedtype 的列转换object为datetime64.
In [22]: df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d')
In [23]: today = datetime.strptime('08/26/16', '%m/%d/%y')
In [24]: today
Out[24]: datetime.datetime(2016, 8, 26, 0, 0)
In [25]: df = df.loc[(df['Date'] < today)]
In [26]: df
Out[26]:
Company Date Value
0 ABC 2016-08-21 500
1 ABC 2016-08-22 600
2 ABC 2016-08-23 650
3 ABC 2016-08-24 625
4 ABC 2016-08-25 675
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8386 次 |
| 最近记录: |