Назначение столбца для операции в Pandas - PullRequest
0 голосов
/ 16 марта 2020

Я не кодер, но я работаю с pandas в python 3, чтобы изменить программу, написанную кем-то другим, чтобы убрать HTML из столбца в файле CSV. В исходном коде он запрашивал пользовательский ввод для имен столбцов, как в коде внизу, но мой CSV-файл всегда будет иметь одинаковые заголовки столбцов, поэтому я бы предпочел не использовать этот шаг ввода, вместо этого просто включив имя столбца в самой программе.

Я попытался заменить эту строку:

col = input("Enter column name: ")

, которая работает точно так же, как и при вводе имени столбца вручную (вывод нового столбца с HTML очищено), с:

col = df['ColumnName']

и многими другими вариантами, но все, что я пробую, вызывает у меня различные ошибки. Какой синтаксис я должен использовать, чтобы просто заставить его работать непосредственно с именем столбца, а не требовать ручного ввода. Большое спасибо за помощь.

import pandas as pd
import re
import html
def cleanhtml(raw_html):
    cleanr = re.compile('<.+?>')
    cleantext = re.sub(cleanr, ' ', str(raw_html))
    clean = re.sub('\s+',' ',cleantext)
    return html.unescape(clean)
file = input("Enter CSV File name (without '.csv' at the end): ")
d = pd.read_csv("%s.csv" % file )
df = pd.DataFrame(d)
col = input("Enter column name: ")
df[col][0:5]
df['clean'] = df[col].apply(cleanhtml)

1 Ответ

0 голосов
/ 16 марта 2020

вместо того, чтобы вручную принимать имена столбцов, вы можете просто заменить команду ввода на имя нужного столбца, например

col = input("Enter column name: ") 

на

col = 'columnName'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...