如何使用python读取csv文件的特定列



我是Scikit-Learn的新手,我想将我已经标记为数据集的数据集合转换为数据集。我已经将数据的.csv文件转换为NumPy数组,但是我遇到的一个问题是根据第二列中存在的标志将数据分类为训练集。我想知道如何使用Pandas实用工具模块访问.csv文件的特定行、列。下面是我的代码:

    import numpy as np
    import pandas as pd
    import csv
    import nltk
    import pickle
    from nltk.classify.scikitlearn import SklearnClassifier
    from sklearn.naive_bayes import MultinomialNB,BernoulliNB
    from nltk.classify import ClassifierI
    from statistics import mode


    def numpyfy(fileid):
         data = pd.read_csv(fileid,encoding = 'latin1')
         #pd.readline(data)
         target = data["String"]
         data1 = data.ix[1:,:-1]
         #print(data)
         return data1
    def learn(fileid):
         trainingsetpos = []
         trainingsetneg = []
         datanew = numpyfy(fileid)
         if(datanew.ix['Status']==1):
            trainingsetpos.append(datanew.ix['String'])
         if(datanew.ix['Status']==0):
            trainingsetneg.append(datanew.ix['String'])
    print(list(trainingsetpos))

可以使用布尔索引来分割数据。就像

import pandas as pd

def numpyfy(fileid):
    df = pd.read_csv(fileid, encoding='latin1')
    target = df.pop('String')
    data = df.ix[1:,:-1]
    return target, data

def learn(fileid):
    target, data = numpyfy(fileid)
    trainingsetpos = data[data['Status'] == 1]
    trainingsetneg = data[data['Status'] == 0]
    print(trainingsetpos)

相关内容

  • 没有找到相关文章

最新更新