我有一个交通流量数据集,它显示了一个城市内不同区域的多个行程的经纬点序列。
**数据:**包含以下列的行程数据:“行程ID”、“序列”、“区域”
pd.DataFrame({'TripID': ['Tom', 'Tom', 'Tom', 'Krish', 'Krish'], 'Sequence': [1, 2, 3, 1, 2], 'Zone': ['A', 'B', 'C', 'A', 'B']})
**输出:**我想推导出每个起点(O)和终点(D)区域之间的行程数。因此,输出 Dataframe 应包含每个O-D对之间的trip_counts。
输出步骤:
1.我首先用所有可能的区域对创建OD矩阵
一个月一个月一个月一个月一个月
我需要将trip_counts填充为这些对的 Dataframe 列,
1.这就是我需要帮助的地方输入 Dataframe (trip_flows)有多个唯一的行程(TripID)。每个唯一的行程从A区到B区到C区到D区再到E区。我需要将每个这样的行程对作为一个单独的行程进行计数,该序列位于“序列”属性中。因此,我们必须对每个“唯一的行程(TripID)组”进行迭代,并在识别行程对中的OD区时附加行程计数。
使用groupby,对于每个unique-trip(TripID),我生成了一个trip区域序列,然后在ODMatrix Dataframe 中为每对trip_counts设置0计数,并在每个trip后面添加+1。因此,最终的Output应该如下所示:
pd.DataFrame({'Origin': ['A', 'B'], 'Dest': ['B', 'C'], 'trip_count': [2, 1]})
1条答案
按热度按时间lymnna711#
首先,创建一个唯一的TripID数组来迭代original_df,按照顺序处理分组的区域对。
tripIDs=df['TripID'].unique()
在数组项上循环以形成区域跳闸数组:字符串
将循环的每个输出附加到trip_pair,并对唯一值计数:
最后,将值计数数组转换为 Dataframe ,并将其与OD矩阵 Dataframe 连接。