将SKLearn 20_newsgroups数据集加载到Pandas DataFrame中

时间:2019-04-04 13:42:28

标签: python pandas scikit-learn sklearn-pandas

Python :我正在尝试加载sklearn.20_newsgroups数据集 sklearn.utils.Bunch pandas 数据框中。

I downloaded datasets the below link

categories = ["alt.atheism", "alt.atheism" ,"comp.os.ms-windows.misc" , "comp.sys.ibm.pc.hardware",
                "comp.sys.mac.hardware" , "comp.windows.x","misc.forsale", "rec.autos","rec.motorcycles",
                "rec.sport.baseball","rec.sport.hockey", "sci.crypt","sci.electronics", "sci.med","sci.space",
                "soc.religion.christian","talk.politics.guns" ,"talk.politics.mideast","talk.politics.misc" ,"talk.religion.misc"]

docs_to_train = sklearn.datasets.load_files("/home/Documents03-04-2019/dataset/20_newsgroups", 
                                      description    = None, 
                                      categories     = categories,
                                      load_content   = True,
                                      encoding       = 'ISO-8859-1',
                                      shuffle        = True,
                                      random_state   = 42)

The below code I treid.

docs_to_train.keys()
data1           = pd.DataFrame(docs_to_train.data, columns=docs_to_train.target_names])
data1['Target'] = pd.Series(data1=docs_to_train.target, index=data1.index)

所需的输出  我运行了以下类似的代码,其工作方式类似,我需要新闻组(例如数据框格式)。

from sklearn.datasets import load_breast_cancer
data = pd.DataFrame(cancer.data, columns=[cancer.feature_names])
data['Target'] = pd.Series(data=cancer.target, index=data.index)

1 个答案:

答案 0 :(得分:1)

您的多个关键字引用了不相关的代码:您写的是cancerdata而不是data1,并且存在不匹配的]

尝试一下:

data1 = pd.DataFrame(docs_to_train.data, columns=[docs_to_train.target_names])
data1['Target'] = pd.Series(data=docs_to_train.target, index=data1.index)

如果这不起作用,请尝试以下方法,而不是第二行:

data1['Target'] = pd.Series(data=docs_to_train.target)
相关问题