Загрузка набора данных SKLearn 20_newsgroups в Pandas DataFrame

Python: я пытаюсь загрузить набор данных sklearn.20_newsgroups sklearn.utils.Bunch в кадр данных pandas.

Я скачал наборы данных по ссылке ниже

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)

person TRINADH NAGUBADI    schedule 04.04.2019    source источник


Ответы (1)


Некоторые из ваших ключевых слов ссылаются на несвязанный код: вы пишете cancer или data вместо 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)
person Peter Leimbigler    schedule 04.04.2019
comment
Наконец-то нашел решение, спасибо за поддержку @Peter_Leimbigler data= pd.Series(docs_to_train.data) data=pd.DataFrame(data) data.columns = ['Data'] + data.columns.tolist()[1:] data['target'] = pd.Series(docs_to_train.target) - person TRINADH NAGUBADI; 05.04.2019
comment
@TRINADHNAGUBADI, рад видеть, что вы нашли решение! - person Peter Leimbigler; 05.04.2019