# Let df be a dataframe
# Let new_df be a dataframe after dropping a column
new_df = df.drop(labels='column_name', axis=1)
# Or if you don't want to change the name of the dataframe
df = df.drop(labels='column_name', axis=1)
# Or to remove several columns
df = df.drop(['list_of_column_names'], axis=1)
# axis=0 for 'rows' and axis=1 for columns
# axis=1 tells Python that we want to apply function on columns instead of rows
# To delete the column permanently from original dataframe df, we can use the option inplace=True
df.drop(['A', 'B', 'C'], axis=1, inplace=True)
# axis=1 tells Python that we want to apply function on columns instead of rows
# To delete the column permanently from original dataframe df, we can use the option inplace=True
df.drop(['column_1', 'Column_2'], axis = 1, inplace = True)
df.drop(['Col_1', 'Col_2'], axis = 1) # to drop full colum more general way can visulize easily
df.drop(['Col_1', 'Col_2'], axis = 1, inplace = True) # advanced : to generate df without making copies inside memory
# When you have many columns, and only want to keep a few:
# drop columns which are not needed.
# df = pandas.Dataframe()
columnsToKeep = ['column_1', 'column_13', 'column_99']
df_subset = df[columnsToKeep]
# Or:
df = df[columnsToKeep]
In [212]:
df = pd.DataFrame(np.random.randint(0, 2, (10, 4)), columns=list('abcd'))
df.apply(pd.Series.value_counts)
Out[212]:
a b c d
0 4 6 4 3
1 6 4 6 7