Давайте обсудим, как удалить один или несколько столбцов в фрейме данных Pandas. Удалить столбец из фрейма данных Pandas или удалить один или более столбцов из фрейма данных можно несколькими способами.
Создайте простой фрейм данных со словарем списков, скажем, имена столбцов — A, B, C, D, E. В этой статье мы рассмотрим 6 различных методов удаления некоторых столбцов из фрейма данных Pandas.
- Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { '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 DataFrame df = 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 package import pandas as pd # create a dictionary with five fields each data = { '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 DataFrame df = 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 package import pandas as pd # create a dictionary with five fields each data = { '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 DataFrame df = pd.DataFrame(data) # Remove three columns as index base df.drop(df.columns[[ 0 , 4 , 2 ]], axis = 1 , inplace = True ) df
|
Вывод:
Метод 2: удалите столбцы из фрейма данных, используя iloc[] и метод drop().
Удалите все столбцы между определенным столбцом в другой столбец.
- Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { '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 DataFrame df = pd.DataFrame(data) # Remove all columns between column index 1 to 3 df.drop(df.iloc[:, 1 : 3 ], inplace = True , axis = 1 ) df
|
Вывод:
Метод 3: удалите столбцы из фрейма данных, используя ix() и метод drop().
Удалите все столбцы между определенным именем столбца и именем другого столбца.
- Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { '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 DataFrame df = 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 package import pandas as pd # create a dictionary with five fields each data = { '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 DataFrame df = 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 package import pandas as pd # create a dictionary with five fields each data = { '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 DataFrame df = pd.DataFrame(data) for col in df.columns: if 'A' in col: del df[col] df
|
Вывод:
Метод 6: Python dataframe.pop() метод
- Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { '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 DataFrame df = 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