Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中选择两个日期之间的数据?_Python_Python 3.x_Pandas - Fatal编程技术网

如何在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
包含dtype
datetime64[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
包含dtype
datetime64[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,您是如何做到的?