2017-02-13 9 views
1

Допустим, у меня есть ДФ:Как выполнить «селективную полосу» на колонке панды dataframe

Name A 
'John ' 
'John and Mary ' 
'Harry ' 
'Paul ' 
'Paul and Harry ' 

Как бы удалить конечные пробелы из каждого из значений dataframe без удаления пробелов между «Джон и Мэри так ... новый DF будет выглядеть так:

Name A 
'John' 
'John and Mary' 
'Harry' 
'Paul' 
'Paul and Harry' 

Я попытался метод str.split, но это мешает имя-мульти values..Also попробовал метод замены. Возможно, это какая-то индексация значений dataframe, таких как [: -1]. Это может сработать?
не уверен, что еще попробовать?

+0

Я думаю, вам нужно 'df ['Name A']. Str.strip()' only – jezrael

ответ

0

Попробуйте .rstrip(), это удалит все пробелы в правой части строки

1

Кажется, что вам нужно strip, если нужно удалить ' и пробельные с левой и правой сторон:

df['Name A'] = df['Name A'].str.strip("' ") 
print (df) 
      Name A 
0   John 
1 John and Mary 
2   Harry 
3   Paul 
4 Paul and Harry 

Если потребность удалять только пробелы от right использование стороны rstrip - параметр не требуется, becasue whitespace по умолчанию:

df['Name A'] = df['Name A'].str.rstrip() 
+0

Я получаю, что у Серии нет атрибута rstrip(), но str.strp ("') работает, спасибо. – Joey

+0

Возможно, какая-то старая версия панд, ['rstrip'] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.rstrip.html) – jezrael