将3维转换为2维并调整类别?

数据:

我有一个大小为(2200, 1000, 12)的数组。第一个值(2200)是索引,每个索引中有1000条记录。

我还有一个大小为(2200)的类别数组。这里的每个变量代表每个索引中1000条记录的标签。

我想做到的是:

如何将第一个数组中的所有内容组合起来,从3维转换为2维?

以及如何将每个类别变量添加到1000条记录中?

期望的结果:

数据框大小(2200000,13)

2200000将是2200个索引中1000条记录的总和。第13列将是与类别的连接,其中每个类别的变量将重复一千次以保持相同的行数。


回答:

首先让我们导入必要的模块并生成模拟数据:

import numpy as npimport pandas as pdM = 2200N = 1000P = 12data = np.random.rand(M, N, P)classes = np.arange(M)

如何从3维转换为2维?

data.reshape(M*N, P)

如何将每个类别变量添加到1000条记录中?

np.repeat(classes, N)

期望的结果:数据框大小(2200000,13)

arr = np.hstack([data.reshape(M*N, P), np.repeat(classes, N)[:, None]])df = pd.DataFrame(arr)print(df)

上面的代码输出结果为:

0        0.371495  0.598211  0.038224  ...  0.777405  0.193472     0.01        0.356371  0.636690  0.841467  ...  0.403570  0.330145     0.02        0.793879  0.008617  0.701122  ...  0.021139  0.514559     0.03        0.318618  0.798823  0.844345  ...  0.931606  0.467469     0.04        0.307109  0.076505  0.865164  ...  0.809495  0.914563     0.0...           ...       ...       ...  ...       ...       ...     ...2199995  0.215133  0.239560  0.477092  ...  0.050997  0.727986  2199.02199996  0.249206  0.881694  0.985973  ...  0.897410  0.564516  2199.02199997  0.378455  0.697581  0.016306  ...  0.985966  0.638413  2199.02199998  0.233829  0.158274  0.478611  ...  0.825343  0.215944  2199.02199999  0.351320  0.980258  0.677298  ...  0.791046  0.736788  2199.0

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中创建了一个多类分类项目。该项目可以对…

发表回复

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