Pandas карта (переупорядочить / переименовать) столбцы с использованием шаблона JSON - PullRequest
2 голосов
/ 09 января 2020

У меня есть фрейм данных примерно так:

|customer_key|order_id|subtotal|address        |
------------------------------------------------
|12345       |O12356  |123.45  |123 Road Street|
|10986       |945764  |70.00   |634 Road Street|
|32576       |678366  |29.95   |369 Road Street|
|67896       |198266  |837.69  |785 Road Street|

И я хотел бы переупорядочить / переименовать столбцы на основе следующего JSON, который содержит имя текущего столбца и имя нужного столбца:

{
"customer_key": "cust_id",
"order_id": "transaction_id",
"address": "shipping_address",
"subtotal": "subtotal"
}

для получения результирующего кадра данных:

|cust_id|transaction_id|shipping_address|subtotal|
--------------------------------------------------
|12345  |O12356        |123 Road Street |123.45  |
|10986  |945764        |634 Road Street |70.00   |
|32576  |678366        |369 Road Street |29.95   |
|67896  |198266        |785 Road Street |837.69  |

Возможно ли это? если это облегчает, порядок столбцов не имеет решающего значения.

1 Ответ

1 голос
/ 09 января 2020

Для переименования и заказа вам потребуется переиндексировать после переименования

df.rename(columns=d).reindex(columns=d.values())

или:

df.reindex(columns=d.keys()).rename(columns=d)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...