Pandas - Strip white space
The best and easiest way to remove blank whitespace in pandas dataframes is :-
df1 = pd.read_csv('input1.csv')
df1["employee_id"] = df1["employee_id"].str.strip()
That's it
You can do the strip()
in pandas.read_csv()
as:
pandas.read_csv(..., converters={'employee_id': str.strip})
And if you need to only strip leading whitespace:
pandas.read_csv(..., converters={'employee_id': str.lstrip})
And to remove all spaces:
def strip_spaces(a_str_with_spaces):
return a_str_with_spaces.replace(' ', '')
pandas.read_csv(..., converters={'employee_id': strip_spaces})
Df['employee']=Df['employee'].str.strip()
You can strip()
an entire Series in Pandas using .str.strip():
df1['employee_id'] = df1['employee_id'].str.strip()
df2['employee_id'] = df2['employee_id'].str.strip()
This will remove leading/trailing whitespaces on the employee_id
column in both df1
and df2
Alternatively, you can modify your read_csv
lines to also use skipinitialspace=True
df1 = pd.read_csv('input1.csv', sep=',\s+', delimiter=',', encoding="utf-8", skipinitialspace=True)
df2 = pd.read_csv('input2.csv', sep=',\s,', delimiter=',', encoding="utf-8", skipinitialspace=True)
It looks like you are attempting to remove spaces in a string containing numbers. You can do this by:
df1['employee_id'] = df1['employee_id'].str.replace(" ","")
df2['employee_id'] = df2['employee_id'].str.replace(" ","")