如何在python中选择两个日期之间的数据?
我想选择两个日期之间的数据。日期的格式是我复制的代码。我已经看过很多这方面的代码,但找不到任何与此格式如何在python中选择两个日期之间的数据?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我想选择两个日期之间的数据。日期的格式是我复制的代码。我已经看过很多这方面的代码,但找不到任何与此格式 Dataset = Data_have[ (Data_have['OrderDate'] >= "1SEP2007:00:00:00") & (Data_have['OrderDate'] <= "31MAR2008:00:00:00") ] Dataset=数据集[ (数据有['OrderDate']>=“1SEP2007:00:00:00”)& (D
Dataset = Data_have[
(Data_have['OrderDate'] >= "1SEP2007:00:00:00") &
(Data_have['OrderDate'] <= "31MAR2008:00:00:00")
]
Dataset=数据集[
(数据有['OrderDate']>=“1SEP2007:00:00:00”)&
(Data_have['OrderDate']假设您使用的是pandas,并且Data_have
是一个数据帧,这里的问题是pandas不会自动将'1SEP2007:00:00'
等字符串识别为日期字符串:
但如果你:
上面,我还假设OrderDate
包含dtypedatetime64[ns]
的值(解析的日期,与日期字符串相对)。如果OrderDate
包含日期字符串,那么您也需要解析它们:
data_have['OrderDate'] = pd.to_datetime(data_have['OrderDate'],
format='%d%b%Y:%H:%M:%S')
Pandas使用dateutil
解析日期字符串。您可以测试日期字符串是否正确
熊猫通过将其传递给pd自动解析。时间戳
:
In [45]: pd.Timestamp("1SEP2007:00:00:00")
ValueError: could not convert string to Timestamp
然而,例如,“1 SEP2007 00:00:00”
是自动可解析的:
In [49]: pd.Timestamp("1 SEP2007 00:00:00")
Out[49]: Timestamp('2007-09-01 00:00:00')
假设您使用的是pandas,并且您拥有的
数据是一个数据帧,这里的问题是pandas不会自动将'1SEP2007:00:00'
之类的字符串识别为日期字符串:
但如果你:
上面,我还假设OrderDate
包含dtypedatetime64[ns]
的值(解析的日期,与日期字符串相对)。如果OrderDate
包含日期字符串,那么您也需要解析它们:
data_have['OrderDate'] = pd.to_datetime(data_have['OrderDate'],
format='%d%b%Y:%H:%M:%S')
Pandas使用dateutil
解析日期字符串。您可以测试日期字符串是否正确
熊猫通过将其传递给pd自动解析。时间戳
:
In [45]: pd.Timestamp("1SEP2007:00:00:00")
ValueError: could not convert string to Timestamp
然而,例如,“1 SEP2007 00:00:00”
是自动可解析的:
In [49]: pd.Timestamp("1 SEP2007 00:00:00")
Out[49]: Timestamp('2007-09-01 00:00:00')
也可能有助于包括:
data\u have['OrderDate']=data\u have.apply(lambda x:pd.to\u datetime(x['OrderDate'],格式=“%d%b%Y:%H:%M:%S”),axis=1)
@cwallenpole:谢谢你的建议。我添加了一些类似的东西,但是使用了pd.to_datetime
而不是apply
。很好。我是熊猫的新手,所以我不知道这个快捷方式。非常感谢你提供了如此全面的信息和datetime数据类型的链接。我真的很难格式化这个专栏“orderdate”。我按照您的建议使用了下面的代码,然后所有问题都得到了解决:data_have['orderdate']=pd.to_datetime(data_have['orderdate'],格式=“%d%b%Y:%H:%M:%S”)我有18484行需要用于预测建模。您的快速回复真的很有帮助。再次感谢。很抱歉再次打扰您,您是如何在突出显示的行中选择代码的?还可以包括:data\u have['OrderDate']=data\u have.apply(lambda x:pd.to\u datetime(x['OrderDate'],格式=“%d%b%Y:%H:%M:%S”),轴=1)
@cwallenpole:谢谢你的建议。我添加了一些类似的东西,但是使用了pd.to_datetime
而不是apply
。很好。我是熊猫的新手,所以我不知道这个快捷方式。非常感谢你提供了如此全面的信息和datetime数据类型的链接。我真的很难格式化这个专栏。”orderdate“。我按照您的建议使用了下面的代码,然后所有问题都解决了:data_have['orderdate']=pd.to_datetime(data_have['orderdate'],格式=“%d%b%Y:%H:%M:%S”)我有18484行需要用于预测建模。您的快速回复真的很有帮助。再次感谢。很抱歉再次打扰您,您是如何选择突出显示行中的代码的?Pintang,您是如何做到的?Pintang,您是如何做到的?