Преобразовать необработанные данные в pandas фрейм данных? - PullRequest
1 голос
/ 29 мая 2020

У меня есть необработанные данные в строке, которые в основном представляют собой несколько ключевых слов в форме-

Law, of, three, stages
Alienation
Social, Facts
Theory, of, Social, System

Как мне импортировать их в фрейм данных, чтобы он считал повторения и возвращал мне количество каждого слова ?

Изменить: я преобразовал его в следующий формат

 Law,of,three,stages,Alienation,Social,Facts,Theory,of,Social,System

Я хочу преобразовать его в фрейм данных, потому что я хочу в конечном итоге предсказать, какое слово имеет наибольшую вероятность повторения.

Ответы [ 2 ]

0 голосов
/ 29 мая 2020
import pandas as pd
import numpy as np

df = pd.DataFrame({
    'name': [ 'Law','of','three','stages','Alienation','Social','Facts','Theory','of','Social','System']
})

df['name'] = df.name.str.split('[ ,]', expand=True)

print(df)

word_freq = pd.Series(np.concatenate([x.split() for x in df.name])).value_counts()
print(word_freq)

enter image description here

0 голосов
/ 29 мая 2020

Используйте словарь

word_count_dict = {}
with open("Yourfile.txt") as file_stream:
     lines = file_stream.readlines()
     for line in lines:
         if "," in line:
            line = line.split(",")
         else:
            line = [line]
         for item in line:
             if item in word_count_dict.keys():
                   word_count_dict[item] += 1
             else:
                   word_count_dict[item] = 1 

Поскольку теперь у вас будет весь список слов, если вам нужен вероятностный порядок. Рекомендуется разделить каждое значение на общее количество вхождений.

total = sum(word_count_dict.itervalues(), 0.0)
probability_words = {k: v / total for k, v in word_count_dict.iteritems()}

Теперь вероятностные слова имеют все шансы появления этого c слова.

Обратный порядок на основе Вероятности

sorted_probability_words = sorted(probability_words, key = lambda x : x[1], reverse = True)

Получение первого элемента с наибольшим шансом

print(sorted_probability_words[0]) # to access the word Key value
print(sorted_probability_words[0][0]) # to get the first word 
print(sorted_probability_words[0][1]) # to get the first word  probability
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...