我想贬低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,)]
我试图按照文档进行操作,但我不明白我的形状错误。
那么,我怎样才能用熊猫贬低我的价值观呢?
答案 0 :(得分:2)
问题在于我的数据框的值是分类的。我使用read_stata
读取数据,因此我必须设置convert_categoricals=False
和preserve_dtypes=False
以确保值为浮点数。
使用正确的dtypes,test_scores.sub(test_scores.mean())
完成工作。
感谢您的评论!