gpt4 book ai didi

python - 分析数据框中分类变量的变化

转载 作者:行者123 更新时间:2023-11-30 09:03:04 25 4
gpt4 key购买 nike

我有一个数据透视数据框,其中包含许多旅行者在前往世界各地的旅程中所在地区的信息。我的数据透视表 df 看起来像这样:

     Name           Anna         Robert        James
Date
2018-10-01 Bulgaria Spain Croatia
2018-10-02 Portugal NaN Portugal
2018-10-03 Spain USA Spain
2018-10-04 USA USA Spain
2018-10-05 USA Canada USA

有 100 列(100 位旅行者)和 300 天。

根据这些数据,我如何探索哪些路线最受欢迎?一看就知道他们都是从西类牙来到美国的。罗伯特也从西类牙飞往美国,只不过飞行时间为两天。三位出席的旅行者中有两位是从葡萄牙来到西类牙的,因此这也是一条受欢迎的路线。

有没有办法使用机器学习算法来显示热门路线?我将非常感谢任何提示。

编辑:我们可以假设该路线有 2 个节点,因此基于此 df 西类牙-美国是一条热门路线

最佳答案

您可以做的最简单的事情是通过将每个用户列与其移位的自身进行压缩来创建起点-目的地元组,然后将元组传递给 Counter 对象。

import pandas as pd
from collections import Counter

df.fillna(method='ffill', inplace=True)

# Create a counter object and pass it the origin-destination tuples
counter = Counter()
for col in df.columns:
routes = list(zip(df[col].shift(1, fill_value=df[col][0]), df[col]))
routes = [(k, v) for k, v in routes if k != v]
counter.update(routes)
counter.most_common(3)

输出:

counter.most_common(3)
Out[76]:
[(('Spain', 'USA'), 3),
(('Portugal', 'Spain'), 2),
(('Bulgaria', 'Portugal'), 1)]

关于python - 分析数据框中分类变量的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59506474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com