小于<符号不使用日期

2024-04-25 07:48:52 发布

您现在位置:Python中文网/ 问答频道 /正文

代码 输入代码以获取日期之间的数据帧(开始日期和结束日期)

import numpy as np
import pandas as pd

df_random = pd.DataFrame(np.random.random((200,3)))
df_random['order_date'] = pd.date_range(start='1/1/2010', 
periods=len(df_random), freq='D')
start_date = pd.to_datetime(2000-1-20).date()
end_date = pd.to_datetime(2000-12-31).date()
mask = (df_random['order_date'] >= start_date) & (df_random['order_date'] < 
 end_date)
df_random.loc[mask]

此代码返回空df

数据帧df\u random如下所示

                 0         1            2
date            
2000-01-01  0.694131    0.757274    0.920751
2000-01-05  0.472744    0.561246    0.112840
... ... ... ...
2000-07-17  0.005491    0.401239    0.936657
2000-07-18  0.952284    0.188398    0.198886

手头的问题

问题是[df_random['order_date']<end_date]返回空数组,因此我应该在两个日期之间获取行的整个代码都不起作用。你知道吗

请帮忙。你知道吗


Tags: to数据代码importdfdatetimedateas
1条回答
网友
1楼 · 发布于 2024-04-25 07:48:52

你错过了这两行的引语:

start_date = pd.to_datetime('2000-1-20').date()
end_date = pd.to_datetime('2000-12-31').date()

此外,pd.Timestampdate之间的比较也将在将来删除。现在你应该得到一个警告。把它们作为时间戳就可以了:

start_date = pd.to_datetime('2000-1-20')
end_date = pd.to_datetime('2000-12-31')

相关问题 更多 >