Python добавить к определенному столбцу во фрейме данных - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть фрейм данных df с 3 столбцами и цикл, создающий строки из текстового файла в зависимости от имен столбцов цикла:

exampletext = "Nr1 thisword1 and Nr2 thisword2 and Nr3 thisword3"
Columnnames = ("Nr1", "Nr2", "Nr3")
df1= pd.DataFrame(columns = Columnnames)
for i in range(0,len(Columnnames)):
   solution = exampletext.find(Columnnames[i])
   lsolution= len(Columnnames[i])
   Solutionwords = exampletext[solution+lsolution:solution+lsolution+10]

Теперь я хочу добавить слова решения в конце кадра данных df1 в правильное поле, например, при поиске Nr1 я хочу добавить слова решения в столбец с именем Nr1. Я пытался работать с добавлением и созданием списка, но это будет просто добавить в конец списка. Мне нужен фрейм данных для разделения слов в зависимости от слова, которое я искал. Спасибо за любую помощь!

редактировать для желаемого вывода и читаемости Желаемый вывод должен быть фреймом данных и выглядеть следующим образом:

Nr1 | Nr2 | Nr3

thisword1 | thisword2 | thisword3

1 Ответ

0 голосов
/ 14 ноября 2018

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

example_text = "Nr1 thisword1 and Nr2 thisword2 and Nr3 thisword3"
column_names = ("Nr1", "Nr2", "Nr3")

d = dict()
split_text = example_text.split(' ')
for i, text in enumerate(split_text):
    if text in column_names:
        d[text] = split_text[i+1]

df = pd.DataFrame(d, index=[0])

, который даст вам:

>>> df 
         Nr1        Nr2        Nr3
0  thisword1  thisword2  thisword3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...