Я пытаюсь использовать python вместо R для анализа опроса. Когда я первоначально изучаю данные опроса, мне нравится распечатывать уникальные категориальные значения в наборе данных. Это полезно для просмотра того, как данные были сохранены в инструменте опроса, и полезно для сравнения с опциями, записанными в опросе.
Используя df ['Example']. Unique () Я могу найти уровни. Однако я хотел бы иметь возможность печатать их чисто в блокноте. Мне нравится, как pandas кадры данных выглядят при печати в записной книжке, но данные кадры требуют, чтобы данные были в формате наблюдения или объекта. Я не смог успешно привести уровни различных значений в DataFrame.
Существует ли встроенная функция для отображения уровней кадра данных с использованием pandas? В противном случае, какие-либо предложения о том, как это сделать?
Пока я просто печатаю на экране для справки. Затем я сохраняю в CSV-файл для просмотра в Excel.
maxLevels = 21
dfUnique = df.nunique() < maxLevels
fixedLevelColnames = list(dfUnique[dfUnique == True].index)
with open('Levels.csv', 'w', encoding='utf-8') as levelFile:
for name in fixedLevelColnames:
levels = [str(level) for level in df[name].unique()]
levels.sort()
levelString = '{} has {} Unique Level(s),{}\n'.format(str(name),df[name].nunique(),",".join(levels))
print(levelString.replace(',',', '))
levelFile.write(levelString)
Пример вывода:
A имеет 5 уникальных уровней, Не знаю, Мягко, Умеренно , Нет, серьезно
B имеет 3 уникальных уровня, Не знаю, Нет, да
C имеет 3 уникальных уровня, Не знаю, Нет, да