Столбец Pandas означает сравнения

#python #pandas #pandas-groupby #mean

#python #pandas #pandas-groupby #означает

Вопрос:

В Pandas Id нравится сравнивать среднее значение последних 100 значений из столбца со средним значением всего столбца, в основном это следующие значения: value_x = df[['a','b']].tail(100).mean() и value_y = df[['a','b']].mean() , где столбец ‘a’ является идентификатором типа True / False. Теперь у меня есть value_a value_b , но не в том формате, который я хочу.

То же самое для следующей части: в данных я хочу сгруппировать значение по столбцу ‘a’, чтобы оно выглядело следующим образом: value_x2 = df[['a','b']].tail(100).groupby(['a']).mean() и value_y2 = df[['a','b']].groupby(['a']).mean()

и из этого я могу получить «значение» следующим образом: value_x3 = value_x2.loc['a_ID1'] , value_y3 = value_y2.loc['a_ID1']

Моя проблема в том, что я не могу сравнить эти значения, если я

 if value_x3 > value_y3: print('aaa') else: print('bbb')
  

Я получаю ValueError: значение истинности Series неоднозначно. Используйте a.empty, a.bool(), a.item(), a.any() или a.all().

Как я могу привести значения к правильному формату? Спасибо.

Ответ №1:

Хорошо, я сам нашел ответ. Вместо того, чтобы использовать ранее упомянутый способ, я использовал более простой: df[df['a_ID1']=='ID1'].b.mean() для и то же самое с .tail(100)

Если у вас есть идея получше, пожалуйста, поделитесь. Спасибо.