Как я могу имитировать функцию Excel «Удалить и сдвинуть влево» в кадре данных Python Pandas? ⇐ Python
Как я могу имитировать функцию Excel «Удалить и сдвинуть влево» в кадре данных Python Pandas?
У меня только что возник небольшой вопрос, поскольку я немного над этим работал. Мне было интересно, как я могу имитировать удаление и сдвиг влево в Excel, например, в кадре данных Python. Допустим, я хочу удалить ячейки от A1 до G8 в Excel: я бы выделил ячейки, щелкнул правой кнопкой мыши и удалил, а затем выбрал опцию сдвига влево.
В Python я попытался имитировать это следующим образом:
для x в диапазоне (0,6): df.iloc[0:8,x] = df.iloc[0:8,x+6] df.iloc[0:8,x+6] = '' для x в диапазоне (6,len(df.columns) - 6): df.iloc[0:8,x] = df.iloc[0:8,x+6] df.iloc[0:8,x+6] = '' По сути, я возьму все строки в первом столбце и заменю их всеми строками в столбце G и повторю для каждого столбца после. После того, как первый «сдвиг» выполнен, во втором цикле я «смещаю» весь фрейм данных (оставшиеся столбцы), чтобы попытаться имитировать функцию удаления сдвига влево в Excel. Результаты приведенного выше кода: Часть 1 перед удалением сдвига влево: Х1 Х2 Х3 Х4 Х5 Х6 Х7 Х8 Х9 Х10 Х11 Х12 Х13 Х14 0 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 2 2 2 2 2 2 2 2 4 4 4 4 4 4 2 3 3 3 3 3 3 3 3 5 5 5 5 5 5 3 4 4 4 4 4 4 4 4 6 6 6 6 6 6 4 6 6 6 6 6 6 6 6 20 20 20 20 20 20 5 7 7 7 7 7 7 7 7 30 30 30 30 30 30 6 8 8 8 8 8 8 8 8 40 40 40 40 40 40 7 9 9 9 9 9 9 9 9 50 50 50 50 50 50 Часть 2 после удаления сдвига влево: Х1 Х2 Х3 Х4 Х5 Х6 Х7 Х8 Х9 Х10 Х11 Х12 Х13 Х14 0 1 1 3 3 3 3 3 3 1 2 2 4 4 4 4 4 4 2 3 3 5 5 5 5 5 5 3 4 4 6 6 6 6 6 6 4 6 6 20 20 20 20 20 20 5 7 7 30 30 30 30 30 30 6 8 8 40 40 40 40 40 40 7 9 9 50 50 50 50 50 50 Однако я не уверен, правильно ли я это делаю и буду ли с помощью этого метода приближаться к каким-либо логическим ошибкам. Я просто импровизирую по ходу дела и вот что у меня получилось. Я думаю, что есть гораздо более элегантный и эффективный способ сделать это. Буду признателен за любую оказанную помощь. Спасибо!
У меня только что возник небольшой вопрос, поскольку я немного над этим работал. Мне было интересно, как я могу имитировать удаление и сдвиг влево в Excel, например, в кадре данных Python. Допустим, я хочу удалить ячейки от A1 до G8 в Excel: я бы выделил ячейки, щелкнул правой кнопкой мыши и удалил, а затем выбрал опцию сдвига влево.
В Python я попытался имитировать это следующим образом:
для x в диапазоне (0,6): df.iloc[0:8,x] = df.iloc[0:8,x+6] df.iloc[0:8,x+6] = '' для x в диапазоне (6,len(df.columns) - 6): df.iloc[0:8,x] = df.iloc[0:8,x+6] df.iloc[0:8,x+6] = '' По сути, я возьму все строки в первом столбце и заменю их всеми строками в столбце G и повторю для каждого столбца после. После того, как первый «сдвиг» выполнен, во втором цикле я «смещаю» весь фрейм данных (оставшиеся столбцы), чтобы попытаться имитировать функцию удаления сдвига влево в Excel. Результаты приведенного выше кода: Часть 1 перед удалением сдвига влево: Х1 Х2 Х3 Х4 Х5 Х6 Х7 Х8 Х9 Х10 Х11 Х12 Х13 Х14 0 1 1 1 1 1 1 1 1 3 3 3 3 3 3 1 2 2 2 2 2 2 2 2 4 4 4 4 4 4 2 3 3 3 3 3 3 3 3 5 5 5 5 5 5 3 4 4 4 4 4 4 4 4 6 6 6 6 6 6 4 6 6 6 6 6 6 6 6 20 20 20 20 20 20 5 7 7 7 7 7 7 7 7 30 30 30 30 30 30 6 8 8 8 8 8 8 8 8 40 40 40 40 40 40 7 9 9 9 9 9 9 9 9 50 50 50 50 50 50 Часть 2 после удаления сдвига влево: Х1 Х2 Х3 Х4 Х5 Х6 Х7 Х8 Х9 Х10 Х11 Х12 Х13 Х14 0 1 1 3 3 3 3 3 3 1 2 2 4 4 4 4 4 4 2 3 3 5 5 5 5 5 5 3 4 4 6 6 6 6 6 6 4 6 6 20 20 20 20 20 20 5 7 7 30 30 30 30 30 30 6 8 8 40 40 40 40 40 40 7 9 9 50 50 50 50 50 50 Однако я не уверен, правильно ли я это делаю и буду ли с помощью этого метода приближаться к каким-либо логическим ошибкам. Я просто импровизирую по ходу дела и вот что у меня получилось. Я думаю, что есть гораздо более элегантный и эффективный способ сделать это. Буду признателен за любую оказанную помощь. Спасибо!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение