Как мне получить все значения разных строк, которые заканчиваются определенным словом - PullRequest
0 голосов
/ 21 февраля 2019

Мой фрейм данных имеет столбец , называемый Borough, который содержит такие значения:

"восточный торонто", "западный торонто", "центральный торонто" и "западный торонто",наряду с другими именами регионов.

Теперь я хочу регулярное выражение, которое получает мне данные каждой записи, которая заканчивается на "toronto".Как мне это сделать?

Я пробовал это:

tronto_data = df_toronto[df_toronto['Borough'] = .*Toronto$].reset_index(drop=True)
tronto_data.head(7)

Ответы [ 2 ]

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

Как @ Code_10 ссылается в комментарии, что вы можете использовать string.endswith .. попробуйте ниже ->

df = pd.DataFrame({'city': ['east toronto', 'west toronto', 'other', 'central toronto']})
df_toronto = df[df['city'].str.endswith('toronto')]
#df_toronto.head()
0 голосов
/ 21 февраля 2019

Если данные хорошо отформатированы, вы можете разбить строку на пробел и получить доступ к последнему слову, сравнивая его с Торонто.Например,

df = pd.DataFrame({'column': ['west toronto', 'central toronto', 'some place']})

mask_df = df['column'].str.split(' ', expand=True)

, который возвращает:

     0         1
0   west     toronto
1   central  toronto
2   some     place

, затем вы можете получить доступ к последнему столбцу для обработки строк, заканчивающихся в Торонто.

toronto_df = df[mask_df[1]=='toronto']

Редактировать:

Не знал, что существует строковый метод .endswith, который является лучшим способом сделать это.Однако это решение предоставляет два столбца, которые могут быть полезны.

...