Удалить первое слово, если предложение из значений столбца фрейма данных pandas - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть такой фрейм данных:

df:
col1      col2
 A        blue berry
 B        nice water bottle

Я хочу удалить первое слово из значений col2, итоговый фрейм данных будет выглядеть так:

df1:
col1       col2
 A         berry
 B         water bottle

Каксделать это наиболее эффективным способом, используя панд

Ответы [ 3 ]

0 голосов
/ 22 февраля 2019

в вашем случае

df1.col2 = df1.col2.str.split(" ",1).str[1]

может сработать..str дает вам векторизованную функциональность строк в столбцах, а для split используется дополнительный аргумент, который говорит, как часто он будет максимально разделяться.

0 голосов
/ 22 февраля 2019

Используйте split по первому пробелу с помощью n=1, а затем выберите вторые списки с помощью индексации:

df['col2'] = df['col2'].str.split(n=1).str[1]
print (df)
  col1          col2
0    A         berry
1    B  water bottle

Сведения :

print (df['col2'].str.split(n=1))
0           [blue, berry]
1    [nice, water bottle]
Name: col2, dtype: object

Если важна производительность и отсутствуют пропущенные значения, преобразуйте решение в понимание списка:

df['col2'] = [x.split(maxsplit=1)[1] for x in df['col2']]
0 голосов
/ 22 февраля 2019
d['col2'] = d['col2'].apply(lambda x: ' '.join(x.split(' ')[1:]))

Выход

  col1          col2
0    A         berry
1    B  water bottle
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...