我有以下数据框:
target (valuation, sum) (trade_delta, sum)
trade_id symbol
6 BIDU 123 -161 -0.094
7 GLD 557 -76 0.150
8 ORCL 867 64 -0.054
10 SPY 425 -14 0.073
11 XOP 861 -8 -0.057
4 SPY 157 12 0.073
实际数据框由更多列组成,所以我只想打印上面的列。出于某种原因,它仅在我不包含目标列时才有效。即:以下作品:
print(df[[('valuation', 'sum'),
('trade_delta', 'sum')]])
但是,如果我还尝试打印目标列:
print(df[['target',
('valuation', 'sum'),
('trade_delta', 'sum')]])
我收到以下错误:
ValueError: setting an array element with a sequence
据推测,这与df是通过首先执行groupby +聚合求和,然后将其与不同的数据帧合并而创建的事实有关。这就是为什么目标列不像其他列那样的元组。
我使用df.dtypes
检查了每列的数据类型,所有列都是float64。我完全不知道为什么我不能与其他列一起打印目标列。
此外,当我打印整个数据框或打印不包含目标列的特定列时,它可以正常工作。唯一出现问题的是当我尝试打印包含目标列的特定列时(根据上面的示例)