Я имею дело с набором данных Титаник из [ seaborn ].
titanic = seaborn.load_dataset('titanic')
Я вырезал столбец возраста в категориальных бинах.
age = pd.cut(titanic['age'], [0, 18, 80])
Тогда возникает проблема, groupby и pivot_table дают совершенно разные результаты:
titanic.groupby(['sex', age, 'class'])['survived'].mean().unstack(-1)
titanic.pivot_table('survived', ['sex', age], 'class')
groupby и pivot_table результаты
Сначала, я думаю, этопотому что nan в age , тогда я использовал набор данных, обработанный dropna, чтобы переделать его.
titanic = titanic.dropna()
age = pd.cut(titanic['age'], [0, 18, 80], right = True)
titanic.groupby(['sex', age, 'class'])['survived'].mean().unstack(-1)
titanic.pivot_table('survived', ['sex', age], 'class')
На этот раз я даже получил совершенно другой результат.
groupby и pivot_table результаты после dropna
Моя версия на python: Python 3.6.5 :: Anaconda, Inc. pandas: 0.23.0
Моя операционная система MaxOS High Sierra 10.13.6
Я попробовал еще раз с python 3.7.0 и pandas 0.23.4, но ошибки не было.
результат под python 3..7.0
Значит, мне интересно, это ошибка Анаконды?