布尔索引的差异取决于索引符号

时间:2018-07-15 01:06:18

标签: python pandas

我在熊猫身上遇到了奇怪的事情,并试图找出原因。我基于一个应用于年龄列的简单if / else函数创建了一个新列:

import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/guipsamora/pandas_exercises/master/04_Apply/Students_Alcohol_Consumption/student-mat.csv')

def majority(x):
    if x >= 18:
        return True
    else:
        return False

df['legal_drinker'] = df.age.apply(majority)

但是现在,根据我的索引方式,我得到两个不同的答案:

df[df['legal_drinker'] == True].shape
    >>(111, 13)

df[df.legal_drinker == True].shape`
    >>(1, 13)

有人知道为什么会这样吗?这真让我感到困惑。

参考图片:enter image description here

0 个答案:

没有答案