紧接上篇文章,分别从提取OD点后的ChengduTaxiON-Sample.csv(上车点)和ChengduTaxiOUT-Sample.csv(下车点)中筛选出8:00-9:00时间范围的轨迹数据,具体代码如下
1.处理上车点ChengduTaxiON-Sample.csv文件
import pandas as pd
# 读取CSV文件
df = pd.read_csv('ChengduTaxiON-Sample.csv')
df = df.sort_values(by = ['VehicleNum','STime'])
# 确保 Stime 列是字符串类型(如果它不是,可能需要进行转换)
df['STime'] = df['STime'].astype(str)
# 将 Stime 列转换为日期时间格式
df['STime'] = pd.to_datetime(df['STime'], format='%H:%M:%S')
# 设置时间范围
start_time = pd.to_datetime('08:00:00', format='%H:%M:%S').time()
end_time = pd.to_datetime('09:00:00', format='%H:%M:%S').time()
# 筛选在指定时间段的数据
filtered_df = df[(df['STime'].dt.time >= start_time) & (df['STime'].dt.time < end_time)]
filtered_df['STime'] = filtered_df['STime'].dt.strftime('%H:%M:%S')
# 打印筛选后的数据
print(filtered_df)
# 如果需要,将结果保存到新的CSV文件中
filtered_df.to_csv('ChengDuTaxiON-Sample8-9.csv', index=False)
展示效果
2. 处理下车点ChengduTaxiOUT-Sample.csv文件
import pandas as pd
# 读取CSV文件
df = pd.read_csv('ChengduTaxiOUT-Sample.csv')
df = df.sort_values(by = ['VehicleNum','STime'])
# 确保 Stime 列是字符串类型(如果它不是,可能需要进行转换)
df['STime'] = df['STime'].astype(str)
# 将 Stime 列转换为日期时间格式
df['STime'] = pd.to_datetime(df['STime'], format='%H:%M:%S')
# 设置时间范围
start_time = pd.to_datetime('08:00:00', format='%H:%M:%S').time()
end_time = pd.to_datetime('09:00:00', format='%H:%M:%S').time()
# 筛选在指定时间段的数据
filtered_df = df[(df['STime'].dt.time >= start_time) & (df['STime'].dt.time < end_time)]
filtered_df['STime'] = filtered_df['STime'].dt.strftime('%H:%M:%S')
# 打印筛选后的数据
print(filtered_df)
# 如果需要,将结果保存到新的CSV文件中
filtered_df.to_csv('ChengDuTaxiOUT-Sample8-9.csv', index=False)
展示效果