Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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编程在csv文件中搜索两个日期和两个时间之间的记录_Python_Pandas_Csv - Fatal编程技术网

使用python编程在csv文件中搜索两个日期和两个时间之间的记录

使用python编程在csv文件中搜索两个日期和两个时间之间的记录,python,pandas,csv,Python,Pandas,Csv,我有一个csv文件,其中有很多条目(行)。第一列包含格式为mm/dd/yyyy的日期,第二列包含格式为hh:min:sec的时间 我想要的是,我将提供开始日期、开始时间、结束日期、结束时间,所有记录(行)将在csv文件的这些参数之间列出 我试着用熊猫,但没有得到任何解决办法 csv文件的条目如下所示: 请帮助我获取这些日期和时间之间的数据 多谢各位 import pandas as pd dataset = pd.read_csv("Path_to_your_input_dataset")

我有一个csv文件,其中有很多条目(行)。第一列包含格式为
mm/dd/yyyy
的日期,第二列包含格式为
hh:min:sec
的时间

我想要的是,我将提供开始日期、开始时间、结束日期、结束时间,所有记录(行)将在csv文件的这些参数之间列出

我试着用熊猫,但没有得到任何解决办法

csv文件的条目如下所示:

请帮助我获取这些日期和时间之间的数据

多谢各位

import pandas as pd
dataset = pd.read_csv("Path_to_your_input_dataset")  #Specify your dataset input path here

#Create a new column "DateTime" which concatenates "Date" and "Time" columns and converts the column to pandas DateTime format
dataset['DateTime'] = pd.to_datetime(dataset['Date '] + ' ' + dataset['Time'])

start_date = "2020-01-01 00:00:40" #Provide your start dateTime as input here in the same exact format
end_date = "2020-01-01 00:10:10" #Provide your end dateTime as input here in the same exact format

#greater than the start date and smaller than the end date
mask = (dataset['DateTime'] >= start_date) & (dataset['DateTime'] <= end_date)

#Assign the selected mask to a new dataframe
selected_dataset = dataset.loc[mask]
print(selected_dataset)
干杯


干杯

如果我提供的是2020年1月1日0:00:10到2020年1月1日0:00:30,那么必须提取前三条记录。请以文本形式提供,而不是图片形式。更正,先生。@Maria非常感谢您,先生。您能帮我解决这个问题吗?也许吧。但是你必须在你的问题中提供一个例子,至少是一个示意图。如果我提供1/1/2020 0:00:10到1/1/2020 0:00:30,那么必须提取前三条记录。请以文本形式提供,而不是图片形式。更正,先生。@MarianD非常感谢先生。你能帮我解决这个问题吗?也许吧。还有一件事,先生,我想对速度列求和..我正在尝试使用print(selected_dataset.groupby['Speed'].sum()),但是我得到了错误类型error:Method'object'不可下标..请在这方面帮助我
print(selected_dataset.groupby['Speed'].sum())['Speed'].sum())
还有一件事,先生,我想对Speed列求和..我正在尝试使用print(selected_dataset.groupby['Speed'].sum()),但我得到了错误类型error:Method'object'不可下标..请在这方面帮助我
print(selected_dataset['Speed'].sum())
import pandas as pd
dataset = pd.read_csv("Path_to_your_input_dataset")  #Specify your dataset input path here

#Create a new column "DateTime" which concatenates "Date" and "Time" columns and converts the column to pandas DateTime format
dataset['DateTime'] = pd.to_datetime(dataset['Date '] + ' ' + dataset['Time'])

start_date = "2020-01-01 00:00:40" #Provide your start dateTime as input here in the same exact format
end_date = "2020-01-01 00:10:10" #Provide your end dateTime as input here in the same exact format

#greater than the start date and smaller than the end date
mask = (dataset['DateTime'] >= start_date) & (dataset['DateTime'] <= end_date)

#Assign the selected mask to a new dataframe
selected_dataset = dataset.loc[mask]
print(selected_dataset)
      Date      Time Mode Dir  Reserved  Speed  Enf Speed            DateTime
3  01/01/20  0:00:40    N   R       170    115         70 2020-01-01 00:00:40
4  01/01/20  0:00:50    N   R       170     81         70 2020-01-01 00:00:50
5  01/01/20  0:10:00    N   R       170    127         70 2020-01-01 00:10:00
6  01/01/20  0:10:10    N   R       170     74         70 2020-01-01 00:10:10