python pandas и поиск значений

#python #pandas #locate

#python #pandas #найдите

Вопрос:

Допустим, у меня есть набор данных, подобный этому :

 df = pandas.DataFrame(numpy.random.randn(4,4),columns=list('ABCD'))
df['test'] = ['A','B','A','C']
  

Я хотел бы извлечь строки с буквой «A» и получить значения ряда, скажем, столбца «C». Как можно сделать это без циклического включения в серию?
Большое спасибо.

Ответ №1:

Как насчет

 df[df['test'].str.contains('A')]['C']
  

Ответ №2:

Использование фильтрации pandas:

 df[df["test"].str.contains("A")]["C"]
  

Ответ №3:

Если равно ‘A’ — это то, что вам нужно

 df.loc[df.test.eq('A'), 'C']
  

В противном случае

 df.loc[df.test.str.contains('A'), 'C']