多个列上的pandas pivot给出了“DataFrame的真值是模棱两可的”

时间:2015-09-27 06:38:52

标签: python pandas

print a.head()
        SubjectID    form_name feature_name feature_value feature_delta
0         533  Demographic       Gender             F           0.0
1         533  Demographic          Age            65           0.0
2         533  Demographic         Race         White           0.0

此转轴以SubjectID为索引:

print a.pivot(index='SubjectID', columns='feature_name', values='feature_value').head()
feature_name Age Gender   Race
SubjectID                     
100256        53      M  White
100626        58      M  White
100806        66      M  White

并且仅与[SubjectID]相同,因为索引不会:

print a.pivot(index=['SubjectID'], columns='feature_name', values='feature_value').head()
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

函数pivot不支持多列和索引,我认为它还没有实现 Issue No. 8160source1

但我的错误不同:

a.pivot(index=['SubjectID'], columns='feature_name', values='feature_value').head()
  

ValueError:传递的项目数量错误3,展示位置意味着1

可是:

print a.pivot(index='SubjectID', columns=['feature_name'], values='feature_value').head()
  

ValueError:DataFrame的真值是不明确的。使用a.empty,a.bool(),a.item(),a.any()或a.all()。