Давайте обсудим, как удалить один или несколько столбцов в фрейме данных Pandas. Удалить столбец из фрейма данных Pandas или удалить один или более столбцов из фрейма данных можно несколькими способами.
Создайте простой фрейм данных со словарем списков, скажем, имена столбцов — A, B, C, D, E. В этой статье мы рассмотрим 6 различных методов удаления некоторых столбцов из фрейма данных Pandas.
- Python3
# Import pandas packageimport pandas as pd # create a dictionary with five fields eachdata = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFramedf = pd.DataFrame(data) df
|
Вывод:

- Метод 1: Удалите столбцы из фрейма данных с помощью метода drop().
- Метод 2: удалите столбцы из фрейма данных, используя iloc[] и метод drop().
- Метод 3: удалите столбцы из фрейма данных, используя ix() и метод drop().
- Метод 4: удалите столбцы из фрейма данных, используя loc[] и метод drop().
- Метод 5: удаление столбцов из фрейма данных итеративным способом.
- Метод 6: Python dataframe.pop() метод
Метод 1: Удалите столбцы из фрейма данных с помощью метода drop().
Пример 1: Удалите определенные отдельные столбцы.
- Python3
Вывод:

Пример 2. Удалите определенные несколько столбцов.
- Python3
# Import pandas packageimport pandas as pd # create a dictionary with five fields eachdata = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFramedf = pd.DataFrame(data) # Remove two columns name is 'C' and 'D'df.drop(['C', 'D'], axis=1) # df.drop(columns =['C', 'D'])
|
Вывод:

Пример 3. Удаление столбцов на основе индекса столбца.
- Python3
# Import pandas packageimport pandas as pd # create a dictionary with five fields eachdata = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFramedf = pd.DataFrame(data) # Remove three columns as index basedf.drop(df.columns[[0, 4, 2]], axis=1, inplace=True) df
|
Вывод:

Метод 2: удалите столбцы из фрейма данных, используя iloc[] и метод drop().
Удалите все столбцы между определенным столбцом в другой столбец.
- Python3
# Import pandas packageimport pandas as pd# create a dictionary with five fields eachdata = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFramedf = pd.DataFrame(data) # Remove all columns between column index 1 to 3df.drop(df.iloc[:, 1:3], inplace=True, axis=1) df
|
Вывод:

Метод 3: удалите столбцы из фрейма данных, используя ix() и метод drop().
Удалите все столбцы между определенным именем столбца и именем другого столбца.
- Python3
# Import pandas packageimport pandas as pd # create a dictionary with five fields eachdata = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFramedf = pd.DataFrame(data) # Remove all columns between column name 'B' to 'D'df.drop(df.ix[:, 'B':'D'].columns, axis=1)
|
Вывод:

Метод 4: удалите столбцы из фрейма данных, используя loc[] и метод drop().
Удалите все столбцы между определенным именем столбца и именем другого столбца.
- Python3
# Import pandas packageimport pandas as pd # create a dictionary with five fields eachdata = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFramedf = pd.DataFrame(data) # Remove all columns between column name 'B' to 'D'df.drop(df.loc[:, 'B':'D'].columns, axis=1)
|
Вывод:

Примечание: Разные loc() и iloc() — это iloc(), исключающие последний элемент диапазона столбца.
Метод 5: удаление столбцов из фрейма данных итеративным способом.
Удалите все столбцы между определенным именем столбца и именем другого столбца.
- Python3
# Import pandas packageimport pandas as pd # create a dictionary with five fields eachdata = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFramedf = pd.DataFrame(data)for col in df.columns: if 'A' in col: del df[col] df
|
Вывод:

Метод 6: Python dataframe.pop() метод
- Python3
# Import pandas packageimport pandas as pd # create a dictionary with five fields eachdata = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFramedf = pd.DataFrame(data)df.pop('B') df
|
Вывод:
A C D E
0 A1 C1 D1 E1
1 A2 C2 D2 E2
2 A3 C3 D3 E3
3 A4 C4 D4 E4
4 A5 C5 D5 E5



