将不同列的数据集组合为完整的csv Dataframe

wsxa1bj1  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(112)

我使用mvlearn软件包从UCI的存储库中获取了一个数据集来访问数据。对于此数据,我希望获得一个CSV文件作为 Dataframe ,以便将其用于机器学习模型。这就是我加载数据的方式

from mvlearn.datasets import load_UCImultifeature
# Load entire dataset
full_data, full_labels = load_UCImultifeature()

变量full data有五列,full labels给了我们label列,现在我想把它们合并成一个csv文件,在这个csv文件中我有六列,数据的描述可以在link中找到。
我想使用数据集来执行PCA,然后应用聚类分析,并将其用于监督机器学习模型,如判别分析。
1.如何将数据集作为一个csv文件获取?或
1.如何将此类数据扩展用于PCA、聚类分析和SML模型?
欢迎就上述任何一项提出意见。

mqkwyuun

mqkwyuun1#

首先,数据集没有5列。
该数据集由从荷兰公用事业Map集提取的手写数字(0--9)的特征组成。每类200个图案(总共2,000个图案)已在二进制图像中数字化。这些数字根据以下六个特征集(文件)表示:

  1. mfeat-fou:字符形状的76个傅立叶系数;
  2. mfeat-fac:216个剖面相关;
  3. mfeat-kar:64个卡胡南-洛夫系数;
  4. mfeat-pix:2x 3窗口中的240像素平均值;
  5. mfeat-zer:47个泽尼克矩;
  6. mfeat-mor:6个形态学特征。
    正如你所看到的描述。这些是具有不同列的独立文件。它们只有相同的行数(2000)。
    让我们切入正题,这个代码就是你想要的。
from mvlearn.datasets import load_UCImultifeature
import numpy as np
import pandas as pd
# Load entire dataset
full_data, full_labels = load_UCImultifeature()

print([full_data[i].shape for i in range(6)])
# [(2000, 76), (2000, 216), (2000, 64), (2000, 240), (2000, 47), (2000, 6)]

df1 = pd.DataFrame(full_data[0])
df2 = pd.DataFrame(full_labels, columns=["target"])

concat_df = pd.concat([df1, df2], axis=1)
print(concat_df)

在本例中,我只处理了列表中的一个文件,因此,如果您还想连接其他文件,可以通过以下操作来完成:

for i in range(1, len(full_data)):
  df = pd.DataFrame(full_data[i])
  concat_df = pd.concat([df, concat_df], axis=1)

print(concat_df) 
#2000 rows × 650 columns

相关问题