我正在尝试获取== 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
答案 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])
我们将括号更改为方括号以进行适当切片。