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

我有一个数据透视表,包含了许多旅行者在世界各地旅行的目的地信息。我的数据透视表大致如下:

     Name           Anna         Robert        JamesDate               2018-10-01        Bulgaria       Spain         Croatia2018-10-02        Portugal       NaN           Portugal  2018-10-03        Spain          USA           Spain2018-10-04        USA            USA           Spain2018-10-05        USA            Canada        USA

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

基于这样的数据,我如何探索哪些路线是最受欢迎的?可以明显看出,所有人都从西班牙前往了美国。罗伯特也从西班牙飞往美国,只是他的飞行时间长达两天。三个旅行者中有两个从葡萄牙到达了西班牙,所以这也是一个受欢迎的路线。

有没有办法使用机器学习算法展示受欢迎的路线?我将非常感激任何建议。

编辑:我们可以假设路线有两个节点,因此根据这个数据框,西班牙-美国是一条受欢迎的路线


回答:

你可以做的最简单的事情是通过将每个用户列与其自身的移位版本进行组合来创建出发-到达元组,然后将这些元组传递给Counter对象。

import pandas as pdfrom collections import Counterdf.fillna(method='ffill', inplace=True)# 创建一个Counter对象并传递出发-到达元组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)]

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注