小编Pet*_*sov的帖子

蟒蛇.大熊猫.大数据.凌乱的TSV文件.如何纠缠数据?

所以.我们有一个混乱的数据存储在我需要分析的TSV文件中.这是它的外观

status=200  protocol=http   region_name=Podolsk datetime=2016-03-10 15:51:58    user_ip=0.120.81.243    user_agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36    user_id=7885299833141807155 user_vhost=tindex.ru    method=GET  page=/search/
Run Code Online (Sandbox Code Playgroud)

问题是一些行具有不同的列顺序/其中一些缺少值,我需要摆脱高性能(因为我正在使用的数据集高达100千兆字节).

Data = pd.read_table('data/data.tsv', sep='\t+',header=None,names=['status', 'protocol',\
                                                     'region_name', 'datetime',\
                                                     'user_ip', 'user_agent',\
                                                     'user_id', 'user_vhost',\
                                                     'method', 'page'], engine='python')
Clean_Data = (Data.dropna()).reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud)

现在我摆脱了缺失值,但仍然存在一个问题!这是数据的外观: 在此输入图像描述

这就是问题的出现: 在此输入图像描述

正如您所看到的,一些列是偏移的.我做了一个非常低性能的解决方案

ids = Clean_Data.index.tolist()
for column in Clean_Data.columns:
    for row, i in zip(Clean_Data[column], ids):
        if np.logical_not(str(column) in row):
            Clean_Data.drop([i], inplace=True)
            ids.remove(i)
Run Code Online (Sandbox Code Playgroud)

所以现在数据看起来不错......至少我可以使用它! 但是我上面提到的方法的高性能替代方案是什么?

更新unutbu代码:traceback错误

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-52c9d76f9744> in <module>() …
Run Code Online (Sandbox Code Playgroud)

python numpy data-analysis bigdata pandas

6
推荐指数
1
解决办法
884
查看次数

标签 统计

bigdata ×1

data-analysis ×1

numpy ×1

pandas ×1

python ×1