Как извлечь значение ячейки pandas df, если значение другого столбца совпадает с подстрокой, а не только сравнением на равенство [duplicate]

1

Поэтому мне нужно извлечь значение ячейки для строки, чей другой столбец соответствует шаблону.

У меня есть следующий Dataframe df:

id    A               B           C
0  2018-A4-X     some_name  2018-09-02
1  2018-A3-X     some_name  2018-05-13
2  2018-A2-X     some_name  2018-02-18
3  2018-A1-X     some_name  2017-11-26

Я хочу извлечь значение столбца C, где значение столбца A содержит строку "A4".

Я пытался сделать так, но это дает "KeyError: True".

a4 = df.loc['A4' in str(df['id']), 'C'].iloc[0]

Поэтому мой вывод в приведенном выше случае должен быть 2018-09-02

  • 2
    df.loc [df.A.str.contains ('A4'), 'C']
  • 3
    Это обман, слишком много вопросов о ТАК на похожих строках
Показать ещё 1 комментарий
Теги:
pandas

1 ответ

2
Лучший ответ

Использование:

print(df.loc[df['A'].str.contains('A4'),'C'].item())

Выход:

2018-09-02

Используйте loc, затем str.contains к str.contains 'A' чтобы увидеть, есть ли в нем 'A4', если он есть, получить столбец 'C' и использовать item для получения значения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню