Ниже приведена исходная структура моих данных (предварительная сводка):
product reviewer rating
0 foo userA 81
1 bar userB 96
2 foo userB 75
3 xyz userA 42
Я запускаю:
df = pd.pivot_table(df, index="product", columns="reviewer", values="rating")
, которая создает новый план данных, выложенныйправильно, но таинственно показывает гораздо больше NaN, чем принадлежит:
userA userB
foo NaN 75
bar NaN 96
xyz NaN NaN
Интересно, если я посмотрю на df ['userA'] :
product
NaN
foo 81
bar 96
xyz NaN
... который содержит правильные данные (хотя я не совсем уверен, что случилось с пустой строкой вверху, но это не моя забота).
Любая идея, что может вызвать дополнительныеNaN, отображаемые при отображении (или записи в csv) полной таблицы, даже если все значения отображаются правильно при просмотре одного столбца?
Я пробовал решение из здесь
df.set_index(['product', 'reviewer', 'rating']).unstack('reviewer')
, но результат тот же (за исключением того, что теперь вместо «NaN» вместо «NN»).