从CSV到具有行数的CSV处理时出现问题

时间:2019-02-21 15:29:21

标签: python pandas csv

我正在尝试将CS​​V文件处理为仅包含感兴趣的列的新CSV文件,并删除不适合值为-1的行。不幸的是,我得到了意外的结果,因为它自动在新的CSV文件中包括了响亮0(旧ID),而没有明确要求脚本执行(因为在cols = [..]中未定义)。 如何更改这些值以用于新的行计数。为此,例如,当我们删除id = 9的第9行时,数据集ID当前为[..7,8,10 ...],而不是新的ID数为[..7,8,9, 10 ...]。我希望任何人都能找到解决方案。

import pandas as pd

# take only specific coloumns from dataset
cols = [1, 5, 6]
data = pd.read_csv('data_sample.csv', usecols=cols, header=None) data.columns = ["url", "gender", "age"]

# remove rows from dataset with undefined values of -1
data = data[data['gender'] != -1]  
data = data[data['age'] != -1]

""" Additional working solution 
indexGender = data[data['gender'] == -1].index 
indexAge = data[data['age'] == -1].index

# Delete the rows indexes from dataFrame 
data.drop(indexGender,inplace=True) 
data.drop(indexAge, inplace=True)
"""
data.to_csv('data_test.csv')

谢谢。

1 个答案:

答案 0 :(得分:0)

数据删除后,我通过简单的行解决了这个问题:

data.reset_index(drop=True, inplace=True)