I need to remove a column with label name at the time of loading a csv using pandas
. I am reading csv as follows and want to add parameters inside it to do so. Thanks.
pd.read_csv("sample.csv")
I know this to do after reading csv:
df.drop('name', axis=1)
If you know the column names prior, you can do it by setting usecols
parameter
When you know which columns to use
Suppose you have csv file with columns ['id','name','last_name']
and you want just ['name','last_name']
. You can do it as below:
import pandas as pd
df = pd.read_csv("sample.csv", usecols = ['name','last_name'])
when you want first N columns
If you don't know the column names but you want first N columns from dataframe. You can do it by
import pandas as pd
df = pd.read_csv("sample.csv", usecols = [i for i in range(n)])
Edit
When you know name of the column to be dropped
# Read column names from file
cols = list(pd.read_csv("sample_data.csv", nrows =1))
print(cols)
# Use list comprehension to remove the unwanted column in **usecol**
df= pd.read_csv("sample_data.csv", usecols =[i for i in cols if i != 'name'])
I need every other columns except the column labeled 'name' and i dont know other labels, number of columns or the location of the label 'name'. So i can't use this answer, but thanks for the reply.