Цикл по фрейму данных и выбор строк на основе подстроки в Pandas - PullRequest
0 голосов
/ 25 января 2020

У меня есть фрейм данных с 5 столбцами, одним из которых является TABLE_NAME. Этот столбец имеет значения, такие как:

A_value1
B_value1
B_value2
A_value150

Я хочу напечатать те, которые начинаются только с 'A_'.

Я пробовал это, но он возвращает следующее:

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Вот код:

value = 'A_'
for index, row in df.iterrows():
    if df.loc[df['TABLE_NAME'].str.contains(value)]:
        print('y')
    else:
        print('n')

1 Ответ

0 голосов
/ 25 января 2020

Вы можете использовать str.startswith:

df.loc[df.TABLE_NAME.str.startswith('A_')]

Если вы хотите использовать свой для l oop, вы можете сделать:

value = 'A_'
for index, row in df.iterrows():
    if row['TABLE_NAME'].startswith(value):
        print('y')
    else:
        print('n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...