len()'DataFrame'对象不可调用

时间:2018-10-19 21:07:46

标签: python jupyter-notebook

我正在尝试获取== 1的列的长度。

创建字典

 test = {'home': ['PIT', 'MIN', 'CHI', 'DET'], 'away': ['MIN', 'PIT', 'DET', 'CHI'], 'is_home': [1,1,1,1], 'home_win': [1,1,0,0],}

创建DF:

 new_test = pd.DataFrame(data=test)
 new_test # Display DataFrame

DF:

    home    away  is_home   home_win
0   PIT      MIN    1          1
1   MIN      PIT    1          1
2   CHI      DET    1          0
3   DET      CHI    1          0

DF的形状为字符串:

n_matches = new_test.shape[0]
n_matches
# 4

使用new_test.home_win的主场获胜次数

n_homewins = len(new_test(new_test.home_win == 1))

结果:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-42-07ff7d4df92e> in <module>()
----> 1 n_homewins = len(new_test(new_test.home_win == int(1)))

TypeError: 'DataFrame' object is not callable

2 个答案:

答案 0 :(得分:2)

num_test是一个DataFrame,不可调用:

n_homewins = len(new_test[new_test.home_win == 1])

答案 1 :(得分:0)

您正在用括号传递参数,这就是为什么它告诉您DataFrame不可调用的原因。进行少量更改即可解决您的问题:

n_homewins = len(new_test[new_test.home_win == 1])

我们将括号更改为方括号以进行适当切片。