Могу ли я одновременно отображать и вставлять столбец в определенный индекс в пандах?
Можно ли в pandas одновременно отображать и вставлять новый столбец в определенный индекс / место в кадре данных?
Я могу заставить отображение работать (из многоключевого словаря), успешно создавая новый столбец в конце моего фрейма данных.
#using multi_key_dict https://pypi.python.org/pypi/multi_key_dict
from multi_key_dict import multi_key_dict
k = multi_key_dict()
k['AAAA', 'BBBB'] = 'San Francisco'
k['CCCC'] = 'Los Angeles'
k['DDDD', 'EEEE', 'FFFF',] = 'San Diego'
# Add new column 'location' to df, based on results of mapping dictionary K to existing column 'codes'
df['location'] = df['codes'].map(k.get)
Я знаю, что могу (пере) проиндексировать и указать порядок сортировки.
Кроме того, я знаю, что могу вставлять столбцы с указанным индексом / позицией в кадре данных:
df.insert(index,name,value)
Было бы хорошо / элегантно, если бы я мог кодировать сопоставление и вставить столбец по указанному индексу вместе. Что-то вроде этого концептуального предположения:
df['location'] = df['codes'].map(k.get).insert(5,'location')
1 ответ
Я сделал переупорядочение / сортировку после сопоставления и вставки, используя...
Исходный порядок столбцов: ['col1', 'col2', 'col3']
Переупорядочено с использованием: df = df[['col3', 'col2', 'col1']]