清理数据集的最佳方法 [关闭]

Posted

技术标签:

【中文标题】清理数据集的最佳方法 [关闭]【英文标题】:Best Way to Clean Up Dataset [closed] 【发布时间】:2020-04-17 14:05:19 【问题描述】:

我正在寻找将这些数据清理为可以作为 pandas 数据框输入以进行进一步分析的最佳方法。目前前几行数据的结构如下(有几千行数据):

  4  0 1.  1 37.0 10.000  0  3 18. 40.0  7  4  0.  0.  1.                   
  5  0 1.  0 27.0  4.000  0  4 14. 20.0  6  4  0.  0.  1.                   
 11  0 1.  0 32.0 15.000  1  1 12. 12.5  1  4  0.  0.  1.                   
 16  0 1.  1 57.0 15.000  1  5 18. 12.5  6  5  0.  0.  1.                   
 23  0 1.  1 22.0  0.750  0  2 17.  7.5  6  3  0.  0.  1.                   
 29  0 1.  0 32.0  1.500  0  2 17.  7.5  5  5  0.  0.  1.                   
 44  0 1.  0 22.0  0.750  0  2 12. 12.5  1  3  0.  0.  1.                   
 45  0 1.  1 57.0 15.000  1  2 14. 20.0  4  4  0.  0.  1.                   
 47  0 1.  0 32.0 15.000  1  4 16. 20.0  1  2  0.  0.  1.                   
 49  0 1.  1 22.0  1.500  0  4 14. 12.5  4  5  0.  0.  1.                   
 50  0 1.  1 37.0 15.000  1  2 20. 20.0  7  2  0.  0.  1.                   
 55  0 1.  1 27.0  4.000  1  4 18. 12.5  6  4  0.  0.  1.

各栏目如下:

标识符,未使用,常量,z1,z2,z3,z4,z5,z6,未使用,z7, z8,yPT,没用过,没用过

因此,并非数据中的每一列都很重要,但是如果可以将其转换为 pandas 数据框,我可以轻松处理这一点。

【问题讨论】:

你能把那些有标题的文件做成一个csv文件吗? ***.com/questions/9652832/… 【参考方案1】:

试试(你也可以从文件中读取它,如果它更容易的话):

import pandas as pd
input_='''
 4  0 1.  1 37.0 10.000  0  3 18. 40.0  7  4  0.  0.  1.                   
  5  0 1.  0 27.0  4.000  0  4 14. 20.0  6  4  0.  0.  1.                   
 11  0 1.  0 32.0 15.000  1  1 12. 12.5  1  4  0.  0.  1.                   
 16  0 1.  1 57.0 15.000  1  5 18. 12.5  6  5  0.  0.  1.                   
 23  0 1.  1 22.0  0.750  0  2 17.  7.5  6  3  0.  0.  1.                   
 29  0 1.  0 32.0  1.500  0  2 17.  7.5  5  5  0.  0.  1.                   
 44  0 1.  0 22.0  0.750  0  2 12. 12.5  1  3  0.  0.  1.                   
 45  0 1.  1 57.0 15.000  1  2 14. 20.0  4  4  0.  0.  1.                   
 47  0 1.  0 32.0 15.000  1  4 16. 20.0  1  2  0.  0.  1.                   
 49  0 1.  1 22.0  1.500  0  4 14. 12.5  4  5  0.  0.  1.                   
 50  0 1.  1 37.0 15.000  1  2 20. 20.0  7  2  0.  0.  1.                   
 55  0 1.  1 27.0  4.000  1  4 18. 12.5  6  4  0.  0.  1.
'''

input_arr=[[cell for cell in row.split(" ") if cell!=""] for row in input_.split("\n") if row!=""]

hdrs=["identifier", "not used", "constant","z1", "z2", "z3", "z4", "z5", "z6", "not used", "z7", "z8", "yPT", "not used", "not used"]

df=pd.DataFrame(data=input_arr, columns=hdrs)
df=df[[col for col in df.columns if col!="not used"]]
print(df.head(10))

输出:

  identifier constant z1    z2      z3 z4 z5   z6 z7 z8 yPT
0          4       1.  1  37.0  10.000  0  3  18.  7  4  0.
1          5       1.  0  27.0   4.000  0  4  14.  6  4  0.
2         11       1.  0  32.0  15.000  1  1  12.  1  4  0.
3         16       1.  1  57.0  15.000  1  5  18.  6  5  0.
4         23       1.  1  22.0   0.750  0  2  17.  6  3  0.
5         29       1.  0  32.0   1.500  0  2  17.  5  5  0.
6         44       1.  0  22.0   0.750  0  2  12.  1  3  0.
7         45       1.  1  57.0  15.000  1  2  14.  4  4  0.
8         47       1.  0  32.0  15.000  1  4  16.  1  2  0.
9         49       1.  1  22.0   1.500  0  4  14.  4  5  0.

【讨论】:

这对我帮助很大,谢谢!

以上是关于清理数据集的最佳方法 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

寻找用于清理/注释大型数据集的 python 数据结构

清理用户提交内容的最佳方法? [复制]

SQL 注入后清理的最佳方法是啥?

SQL 注入后清理的最佳方法是啥?

使用 Wordpress,有人可以告诉我清理输入的最佳方法吗?

使用用户插入的变量清理 exec 命令的最佳方法