Замена данных столбца на Pandas .replace не работает - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь превратить данные из .csv в панд df:

df = pd.read_csv('congress1.csv', delimiter = ';', names = ['Name', 'Years', 'Position', 'Party', 'State', 'Congress'], header = 0)

Я хочу заменить данные в столбце «Конгресс» - «1 (1789-1790)» - на одну дату - «1789»:

df['Congress'] = df['Congress'].replace('1(1789-1790)', '1789')

Однако это не изменит мои данные. Если я, скажем, включаю inplace = True

df['Congress'] = df['Congress'].replace('1(1789-1790)', '1789', inplace=True)

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

1 Ответ

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

Здесь есть две проблемы:

  1. вы должны использовать часть .str, чтобы "интерпретировать" столбец как строку; и
  2. вам нужно убрать скобки.
df['Congress'] = df['Congress']<b>.str</b>.replace(<b>r</b>'1<b>\</b>(1789-1790<b>\</b>)', '1789')

Таким образом, мы заменяем строковую часть на 1789.

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