- How to Delete Column(s) of Pandas DataFrame?
- Examples
- 1. Delete a column using del keyword
- 2. Delete a column using pop() function
- 3. Delete a column using drop() function
- 4. Delete multiple columns using drop() function
- Summary
- Как удалить столбцы в Pandas (4 примера)
- Пример 1. Удаление одного столбца по имени
- Пример 2. Удаление нескольких столбцов по имени
- Пример 3. Удаление одного столбца по индексу
- Пример 4. Удаление нескольких столбцов по индексу
- pandas.DataFrame.drop#
How to Delete Column(s) of Pandas DataFrame?
You can delete one or multiple columns of a DataFrame.
To delete or remove only one column from Pandas DataFrame, you can use either del keyword, pop() function or drop() function on the dataframe.
To delete multiple columns from Pandas Dataframe, use drop() function on the DataFrame.
In this tutorial, you’ll learn how to delete one or more columns in a \ DataFrame, with the help of example programs.
Examples
1. Delete a column using del keyword
In this example, we will create a DataFrame and then delete a specified column using del keyword. The column is selected for deletion, using the column label.
Python Program
import pandas as pd mydictionary = #create dataframe df_marks = pd.DataFrame(mydictionary) print('Original DataFrame\n--------------') print(df_marks) #delete a column del df_marks['chemistry'] print('\n\nDataFrame after deleting column\n--------------') print(df_marks)
Original DataFrame -------------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 DataFrame after deleting column -------------- names physics algebra 0 Somu 68 78 1 Kiku 74 88 2 Amol 77 82 3 Lini 78 87
We have deleted chemistry column from the dataframe.
2. Delete a column using pop() function
In this example, we will create a DataFrame and then use pop() function on the dataframe to delete a specific column. The column is selected for deletion, using the column label.
Python Program
import pandas as pd mydictionary = #create dataframe df_marks = pd.DataFrame(mydictionary) print('Original DataFrame\n--------------') print(df_marks) #delete column df_marks.pop('chemistry') print('\n\nDataFrame after deleting column\n--------------') print(df_marks)
Original DataFrame -------------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 DataFrame after deleting column -------------- names physics algebra 0 Somu 68 78 1 Kiku 74 88 2 Amol 77 82 3 Lini 78 87
We have deleted chemistry column from the dataframe.
3. Delete a column using drop() function
In this example, we will use drop() function on the dataframe to delete a specific column. We use column label to select a column for deletion.
Python Program
import pandas as pd mydictionary = #create dataframe df_marks = pd.DataFrame(mydictionary) print('Original DataFrame\n--------------') print(df_marks) #delete column df_marks = df_marks.drop(['chemistry'], axis=1) print('\n\nDataFrame after deleting column\n--------------') print(df_marks)
4. Delete multiple columns using drop() function
In this example, we will use drop() function on the dataframe to delete multiple columns. We use array of column labels to select columns for deletion.
Python Program
import pandas as pd mydictionary = #create dataframe df_marks = pd.DataFrame(mydictionary) print('Original DataFrame\n--------------') print(df_marks) #delete columns df_marks = df_marks.drop(['algebra', 'chemistry'], axis=1) print('\n\nDataFrame after deleting column\n--------------') print(df_marks)
Summary
In this Pandas Tutorial, we learned how to delete a column from Pandas DataFrame using del keyword, pop() method and drop() method, with the help of well detailed Python Examples.
Как удалить столбцы в Pandas (4 примера)
Вы можете использовать функцию drop() , чтобы удалить один или несколько столбцов из кадра данных pandas:
#drop one column by name df.drop('column_name', axis= 1 , inplace= True ) #drop multiple columns by name df.drop(['column_name1', 'column_name2'], axis= 1 , inplace= True ) #drop one column by index df.drop (df.columns [[0]], axis= 1 , inplace= True ) #drop multiple columns by index df.drop (df.columns[[0,2,5]], axis= 1 , inplace= True )
Обратите внимание на следующее:
- Аргумент оси указывает, следует ли удалить строки (0) или столбцы (1).
- Аргумент inplace указывает, что столбцы должны быть удалены без переназначения DataFrame.
В следующих примерах показано, как использовать эту функцию на практике со следующими пандами DataFrame:
import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df A B C 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Пример 1. Удаление одного столбца по имени
В следующем коде показано, как удалить один столбец из DataFrame по имени:
#drop column named 'B' from DataFrame df.drop('B', axis= 1 , inplace= True ) #view DataFrame df A C 0 25 11 1 12 8 2 15 10 3 14 6 4 19 6 5 23 5 6 25 9 7 29 12
Пример 2. Удаление нескольких столбцов по имени
В следующем коде показано, как удалить несколько столбцов по имени:
#drop columns 'A' and 'C' from DataFrame df.drop(['A', 'C'], axis= 1 , inplace= True ) #view DataFrame df B 0 5 1 7 2 7 3 9 4 12 5 9 6 9 7 4
Пример 3. Удаление одного столбца по индексу
В следующем коде показано, как удалить один столбец по индексу:
#drop first column from DataFrame df.drop (df.columns [[0]], axis= 1 , inplace= True ) #view DataFrame df B C 0 5 11 1 7 8 2 7 10 3 9 6 4 12 6 5 9 5 6 9 9 7 4 12
Пример 4. Удаление нескольких столбцов по индексу
В следующем коде показано, как удалить несколько столбцов по индексу:
#drop multiple columns from DataFrame df.drop (df.columns [[0, 1]], axis= 1 , inplace= True ) #view DataFrame df C 0 11 1 8 2 10 3 6 4 6 5 5 6 9 7 12
pandas.DataFrame.drop#
Remove rows or columns by specifying label names and corresponding axis, or by specifying directly index or column names. When using a multi-index, labels on different levels can be removed by specifying the level. See the user guide for more information about the now unused levels.
Parameters labels single label or list-like
Index or column labels to drop. A tuple will be used as a single label and not treated as a list-like.
Whether to drop labels from the index (0 or ‘index’) or columns (1 or ‘columns’).
index single label or list-like
Alternative to specifying axis ( labels, axis=0 is equivalent to index=labels ).
columns single label or list-like
Alternative to specifying axis ( labels, axis=1 is equivalent to columns=labels ).
level int or level name, optional
For MultiIndex, level from which the labels will be removed.
inplace bool, default False
If False, return a copy. Otherwise, do operation inplace and return None.
errors , default ‘raise’
If ‘ignore’, suppress error and only existing labels are dropped.
Returns DataFrame or None
DataFrame without the removed index or column labels or None if inplace=True .
If any of the labels is not found in the selected axis.
Label-location based indexer for selection by label.
Return DataFrame with labels on given axis omitted where (all or any) data are missing.
Return DataFrame with duplicate rows removed, optionally only considering certain columns.
Return Series with specified index labels removed.
>>> df = pd.DataFrame(np.arange(12).reshape(3, 4), . columns=['A', 'B', 'C', 'D']) >>> df A B C D 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11
>>> df.drop(['B', 'C'], axis=1) A D 0 0 3 1 4 7 2 8 11
>>> df.drop(columns=['B', 'C']) A D 0 0 3 1 4 7 2 8 11
>>> df.drop([0, 1]) A B C D 2 8 9 10 11
Drop columns and/or rows of MultiIndex DataFrame
>>> midx = pd.MultiIndex(levels=[['lama', 'cow', 'falcon'], . ['speed', 'weight', 'length']], . codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2], . [0, 1, 2, 0, 1, 2, 0, 1, 2]]) >>> df = pd.DataFrame(index=midx, columns=['big', 'small'], . data=[[45, 30], [200, 100], [1.5, 1], [30, 20], . [250, 150], [1.5, 0.8], [320, 250], . [1, 0.8], [0.3, 0.2]]) >>> df big small lama speed 45.0 30.0 weight 200.0 100.0 length 1.5 1.0 cow speed 30.0 20.0 weight 250.0 150.0 length 1.5 0.8 falcon speed 320.0 250.0 weight 1.0 0.8 length 0.3 0.2
Drop a specific index combination from the MultiIndex DataFrame, i.e., drop the combination ‘falcon’ and ‘weight’ , which deletes only the corresponding row
>>> df.drop(index=('falcon', 'weight')) big small lama speed 45.0 30.0 weight 200.0 100.0 length 1.5 1.0 cow speed 30.0 20.0 weight 250.0 150.0 length 1.5 0.8 falcon speed 320.0 250.0 length 0.3 0.2
>>> df.drop(index='cow', columns='small') big lama speed 45.0 weight 200.0 length 1.5 falcon speed 320.0 weight 1.0 length 0.3
>>> df.drop(index='length', level=1) big small lama speed 45.0 30.0 weight 200.0 100.0 cow speed 30.0 20.0 weight 250.0 150.0 falcon speed 320.0 250.0 weight 1.0 0.8