как зацикливать добавление нового столбца в pandas dataframe со значением на основе другого значения столбца - PullRequest
0 голосов
/ 02 июля 2019

Пожалуйста, у меня есть фрейм данных с четырьмя столбцами: [keys, summary, description и summary_description], так что я имею дело с summary_description, пытаюсь применить RegEx и извлечь новый результат в [New_column], поэтому я сделал цикл но я не уверен, что проблема не работает, получая ошибку. Пожалуйста, если кто-нибудь может помочь, я был бы очень признателен.

import pandas as pd
import re
dataf= pd.read_excel(r'C:\Users\malotaibi\Desktop\Last update\result.xlsx')
dataf
dataf.head(5)
dataf['New_Column'][i] = re.sub('[^A-Za-z0-9]+', ' ', dataf['Summary_Description'][i])
print (dataf['New_column'][i])

Ошибка:

KeyError: 'New_Column'

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Вы можете сделать это так:

dataf['New_Column'] = dataf['Summary_Description'].str.replace('[^A-Za-z0-9]+', ' ')

0 голосов
/ 02 июля 2019

Вы пытались добавить ключ «Новый столбец» перед его созданием.Так что

import pandas as pd
import re
dataf= pd.read_excel(r'C:\Users\malotaibi\Desktop\Last update\result.xlsx')
dataf
dataf.head(5)
dataf['New_Column'] = 1 # this will create the new_column entry and set all its values to 1

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

for i in range(len(dataf['Summary_Description'])):
    dataf['New_Column'][i] = re.sub('[^A-Za-z0-9]+', ' ', dataf['Summary_Description'][i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...