Python Pandas: присоединение к регистронезависимому и лишенному ключуPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Pandas: присоединение к регистронезависимому и лишенному ключу

Сообщение Anonymous »

Левый фрейм данных MASTER =



Имя
Lимя
Сумма

< /thead>


Джон
Смит-Ричардс



Дэвид
О'Брайен
< td>



Правильный кадр данных ORDERS =


Fname
Lname
Сумма




ДЭВИД
ОБРИЕН
36

Джон
Смит Ричардс
11



Ожидаемый результат Dataframe =



Fname
Lname
Сумма




Джон
Смит-Ричардс
11


< td>Дэвид
О'Брайен
36


Таблицы MASTER и ORDERS соединены LEFT-OUTER с помощью KEY = [Fname, Lname]
Обе таблицы имеют одни и те же столбцы, но строки расположены в разном порядке. Я хочу, чтобы операция соединения игнорировала регистр и игнорировала такие символы, как тире, пробелы и апострофы (например, таблицы будут объединены по значениям «johnsmithrichards» и «davidobrien»)
(На практике, фактические таблицы содержат гораздо больше столбцов, и результирующая выходная таблица должна извлечь некоторые значения из таблицы MASTER, а другие — из таблицы ORDERS, поэтому я использовал mdfcols и odfcols соответственно, чтобы включать только эти конкретные столбцы. .)
Моя попытка удалить только пробелы не сработала:
key = ["Fname", "Lname"]

mdfkey = (mdf["First Name"].str.lower() + mdf["Last Name"].str.lower()).replace(' ', '')
mdfcols = ["Fname", "Lname"]

odfkey = (odf["First Name"].str.lower() + odf["Last Name"].str.lower()).replace(' ', '')
odfCols = ["Amount"]

outputdf = pd.merge(
mdf.loc[:, mdfcols],
odf.loc[:, odfCols],
how='left', left_on=mdfkey, right_on=odfkey)


Подробнее здесь: https://stackoverflow.com/questions/786 ... ripped-key
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»