执行groupby后打印特定列

时间:2015-11-17 14:38:03

标签: python pandas

我有以下数据框:

                   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。我完全不知道为什么我不能与其他列一起打印目标列。

此外,当我打印整个数据框或打印不包含目标列的特定列时,它可以正常工作。唯一出现问题的是当我尝试打印包含目标列的特定列时(根据上面的示例)

0 个答案:

没有答案