当前位置: 代码迷 >> python >> KDD Cup 2009:解析并转换带有“.data”扩展名的数据集到 .csv?
  详细解决方案

KDD Cup 2009:解析并转换带有“.data”扩展名的数据集到 .csv?

热度:63   发布时间:2023-06-27 21:58:29.0

我正在尝试通过 python/pandas 将“.data”数据集解析为 230 个单独的变量,然后将其解析为 df 和 .csv 导出。

数据似乎是表格形式,但还有一些其他细微差别。 以下是 KDD 格式的说明:

数据格式说明

数据集使用的格式类似于关系数据库中的文本导出格式:

  1. 一个带有变量名称的标题行
  2. 每个实例一行
  3. 值之间的分隔符列表
  4. 有缺失值(连续制表)

大矩阵是由按顺序号附加下载的各种块产生的。 标题行仅出现在第一个块中。

目标值(.labels 文件)每行有一个示例,其顺序与相应的数据文件相同。 请注意,流失、吸引力和向上销售是三个独立的二元分类问题。 目标值为 +1 或 -1。 我们将具有 +1 (resp. -1) 目标值的示例称为正 (resp.negative) 示例。

Matlab 矩阵是数字矩阵。 加载时,数据矩阵称为 X。分类变量映射为整数。 对于原始数值变量,缺失值由 NaN 替换,而对于分类变量,它们被映射到 0。

以下是在文本编辑器中打开时代码外观的片段:

Var1    Var2    Var3    Var4    Var5    Var6    Var7    Var8    Var9    Var10   Var11   Var12   Var13   Var14   Var15   Var16   Var17   Var18   Var19   Var20   Var21   Var22   Var23   Var24   Var25   Var26   Var27   Var28   Var29   Var30   Var31   Var32   Var33   Var34   Var35   Var36   Var37   Var38   Var39   Var40   Var41   Var42   Var43   Var44   Var45   Var46   Var47   Var48   Var49   Var50   Var51   Var52   Var53   Var54   Var55   Var56   Var57   Var58   Var59   Var60   Var61   Var62   Var63   Var64   Var65   Var66   Var67   Var68   Var69   Var70   Var71   Var72   Var73   Var74   Var75   Var76   Var77   Var78   Var79   Var80   Var81   Var82   Var83   Var84   Var85   Var86   Var87   Var88   Var89   Var90   Var91   Var92   Var93   Var94   Var95   Var96   Var97   Var98   Var99   Var100  Var101  Var102  Var103  Var104  Var105  Var106  Var107  Var108  Var109  Var110  Var111  Var112  Var113  Var114  Var115  Var116  Var117  Var118  Var119  Var120  Var121  Var122  Var123  Var124  Var125  Var126  Var127  Var128  Var129  Var130  Var131  Var132  Var133  Var134  Var135  Var136  Var137  Var138  Var139  Var140  Var141  Var142  Var143  Var144  Var145  Var146  Var147  Var148  Var149  Var150  Var151  Var152  Var153  Var154  Var155  Var156  Var157  Var158  Var159  Var160  Var161  Var162  Var163  Var164  Var165  Var166  Var167  Var168  Var169  Var170  Var171  Var172  Var173  Var174  Var175  Var176  Var177  Var178  Var179  Var180  Var181  Var182  Var183  Var184  Var185  Var186  Var187  Var188  Var189  Var190  Var191  Var192  Var193  Var194  Var195  Var196  Var197  Var198  Var199  Var200  Var201  Var202  Var203  Var204  Var205  Var206  Var207  Var208  Var209  Var210  Var211  Var212  Var213  Var214  Var215  Var216  Var217  Var218  Var219  Var220  Var221  Var222  Var223  Var224  Var225  Var226  Var227  Var228  Var229  Var230
                1225    7                       100                             156 195     0   72          166.56                          0           4259232                     0                                                   2.565264                                9                               106 7       959480      0           70399.2     15      10                                                                                              32          40  383386.4                        620             54      20646                           0   756720  1123876                     1915            0   9                   0               8335680                         16          1689774                                     0                               0                                           xddq9ayfAo  RO12        taul    1K8T    PShj    iJzviRg 17VONbZnAuZ90atz    MF5EBmj     WVvO    9_Y1    vm5R    VpdQ    haYg    7M47J5GA0pTYIFxg5uy kIsH        uKAI    L84s    H4p93_uThXwSG       XREFJCi     7WwzJJY OgPm    cJvF    FzaX    ch2oGfM Al6ZaUT P6pu4Vl LM8l689qOp

我发现这篇对如何利用 Pandas 转换文件类型很有帮助,但是文本解析逻辑完全不同。

关于如何解决这个问题的任何支持都会非常有帮助,因为我希望使用这个数据集来学习如何将预测学习应用于 CRM 数据集。

谢谢!!!

为比赛提供的数据采用.data文件格式。 检查数据后可以看到数据是由tab分隔的。 所以我们可以直接使用pandas来读取文件。

import pandas as pd
temp = pd.read_csv('orange_small_train.data', sep='\t')  

这将解决问题。

  相关解决方案