【发布时间】:2019-07-11 09:43:17
【问题描述】:
我有一个名为“结果”的列,它包含 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
结果是正确的。什么可能导致初始方法不起作用?
我注意到,对于具有
【问题讨论】:
-
你的小df是什么样子的,1和0包含多少个?