pandas Получение только среднего (плавающего) значения одного столбца, когда другой столбец соответствует значению в python - PullRequest
0 голосов
/ 01 декабря 2019

Допустим, у меня есть простая таблица

manufacturer    marbles     shape     blah
A               169         square    yada
B               140         round     yada
C               420         round     yada
C               380         square    random
D               400         round     dontmatter
D               222         square    lkj
D                89         round     asdf

, она импортирована во фрейм данных pandas с индексом, являющимся производителем. В этом примере я хочу среднее значение мрамора, где фигура круглая. То, что у меня сейчас есть, возвращает серию:

return df.loc[df['shape'] == 'round', ["marbles"]].mean()

Я не хочу, чтобы серия возвращалась, я хочу просто среднее значение шариков.

1 Ответ

2 голосов
/ 01 декабря 2019

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

df.loc[df['shape'] == 'round', "marbles"].mean()

Передача метки скалярного столбца возвращает число с плавающей запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...