贬低pandas DataFrame的列值

时间:2014-12-10 17:35:58

标签: python pandas

我想贬低pandas DataFrame的值。

然而,我的代码

test_scores = df[test_score_vars]
test_score_means = test_scores.mean()
print(test_scores.sub(test_score_means, axis='columns').mean())

不会返回预期的零列表,而是会引发此错误

ValueError: cannot broadcast shape [(21409,)] with block values [(1,)]

我试图按照文档进行操作,但我不明白我的形状错误。

那么,我怎样才能用熊猫贬低我的价值观呢?

1 个答案:

答案 0 :(得分:2)

问题在于我的数据框的值是分类的。我使用read_stata读取数据,因此我必须设置convert_categoricals=Falsepreserve_dtypes=False以确保值为浮点数。

使用正确的dtypes,test_scores.sub(test_scores.mean())完成工作。

感谢您的评论!