Python Pandas Гистограмма нечетная / четная сортировка - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть функция, которая отображает некоторые гистограммы (данные находятся в диапазоне 1 ... 15)

    def show_hist(filename):
        df = pd.read_csv(filename, delimiter=',', header=None)
        plt.figure(figsize=(10, 6))
        df[1].value_counts()[:15].plot(kind='bar')
        plt.savefig('img1.png')
        plt.clf()
        df[3].value_counts()[:15].plot(kind='bar')
        plt.savefig('img2.png')
        plt.clf()
        df[4].value_counts(sort = False).plot(kind='bar')
        plt.savefig('img3.png')

Мой вопрос касается части с img3.png - она ​​сохраняет гистограмму с 15 барами от 1 до 15 .

И иногда, когда я импортирую эту функцию в другой файл в том же проекте или просто копирую код, столбцы на img3 группируются по нечетным / четным столбцам 2..4..6..8 .. et c слева и 1..3..5..et c справа

Почему это происходит? и есть ли возможность сделать это снова прямо?

PS данные выглядят так:

8796,.2.3.5.7.14.15,6,.2.3,2
8797,.1.3.8.12.13.15,6,.1.3,1
8798,.9,1,.9,9
8799,.5.6.10,3,.5.6,5
8800,.3.5.12.14,4,.3.5,3
8801,.4.11.12.13,4,.4.11,4

правильно img
неправильно img

1 Ответ

0 голосов
/ 04 февраля 2020

Итак, вы пытаетесь создать гистограмму, используя value_counts, и проблема в том, что индекс pandas не отсортирован. Пожалуйста, попробуйте следующий код:

aux = df[4].value_counts()
aux.sort_index().plot(kind='bar')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...