У меня есть столбец с именем «results», и он содержит 1 или 0. Я хотел бы получить число 1 и 0 для целей тестирования, но я получаю некоторые странные результаты.
Сначала я делаю:
df.sort_values(by='results', axis=0, ascending=False, inplace=True)
, затем:
num_ones = df['results'].value_counts().values[1]
num_zeroes = df['results'].value_counts().values[0]
print("num_ones: " + str(num_ones))
print("num_zeroes: " + str(num_zeroes))
Вывод:
num_ones: 3610
num_zeroes: 51500
Сразу видно, что значения перевернуты.num_ones на самом деле содержит число 0 и наоборот.
Я тогда делаю
df1 = df.loc[df['results'] == 1]
print('Ones: ' + str(df1.shape[0]))
df0 = df.loc[df['results'] == 0]
print('zeros: ' + str(df0.shape[0]))
Вывод:
Ones: 51500
zeros: 3610
и результаты верны.Что может быть причиной того, что первоначальный подход не работает?
Я заметил, что это не проблема с меньшими наборами данных с <5k строк. </p>