2024-04-19 07:54:01 发布
网友
我想选择两个日期之间的数据。日期的格式是我复制的代码。我看到了很多代码,但找不到任何这种格式的代码。在
dataset = Data_have[ (Data_have['OrderDate'] >= "1SEP2007:00:00:00") & (Data_have['OrderDate'] <= "31MAR2008:00:00:00") ]
谢谢
假设您正在使用pandas,并且data_have是一个数据帧,那么这里的问题是pandas不会自动将'1SEP2007:00:00:00'之类的字符串识别为日期字符串:
data_have
'1SEP2007:00:00:00'
但是如果你give it a little help:
import pandas as pd data_have = pd.DataFrame( {'OrderDate': pd.date_range('2007-1-1', '2009-1-1', freq='M')}) start, end = pd.to_datetime(["1SEP2007:00:00:00", "31MAR2008:00:00:00"], format='%d%b%Y:%H:%M:%S') dataset = data_have[ (data_have['OrderDate'] >= start) & (data_have['OrderDate'] <= end) ] print(dataset)
印刷品
在上面,我还假设OrderDate包含dtype datetime64[ns](解析的日期,而不是日期字符串)的值。如果OrderDate包含日期字符串,那么您也需要解析它们:
OrderDate
datetime64[ns]
data_have['OrderDate'] = pd.to_datetime(data_have['OrderDate'], format='%d%b%Y:%H:%M:%S')
Pandas使用dateutil来解析日期字符串。您可以测试日期字符串是否 通过传递给pd.Timestamp,熊猫可以自动对其进行分析:
dateutil
pd.Timestamp
In [45]: pd.Timestamp("1SEP2007:00:00:00") ValueError: could not convert string to Timestamp
然而,例如,"1 SEP2007 00:00:00"是自动可解析的:
"1 SEP2007 00:00:00"
In [49]: pd.Timestamp("1 SEP2007 00:00:00") Out[49]: Timestamp('2007-09-01 00:00:00')
假设您正在使用pandas,并且
data_have
是一个数据帧,那么这里的问题是pandas不会自动将'1SEP2007:00:00:00'
之类的字符串识别为日期字符串:但是如果你give it a little help:
印刷品
^{2}$在上面,我还假设
OrderDate
包含dtypedatetime64[ns]
(解析的日期,而不是日期字符串)的值。如果OrderDate
包含日期字符串,那么您也需要解析它们:Pandas使用
dateutil
来解析日期字符串。您可以测试日期字符串是否 通过传递给pd.Timestamp
,熊猫可以自动对其进行分析:然而,例如,
"1 SEP2007 00:00:00"
是自动可解析的:相关问题 更多 >
编程相关推荐