【问题标题】:selecting a column from pandas pivot table从熊猫数据透视表中选择一列
【发布时间】:2019-02-12 18:16:29
【问题描述】:

我有以下数据透视表,它是使用以下代码从数据框创建的:

table = pd.pivot_table(df, values='count', index=['days'],columns['movements'], aggfunc=np.sum)

movements 0    1   2   3   4   5   6   7
days
0         2777 51  2                    
1         6279 200 7   3                
2         5609 110 32  4                
3         4109 118 101 8   3            
4         3034 129 109 6   2   2        
5         2288 131 131 9   2   1        
6         1918 139 109 13  1   1        
7         1442 109 153 13  10  1        
8         1085 76  111 13  7           1
9         845  81  86  8   8            
10        646  70  83  1   2   1   1

正如您从数据透视表中看到的那样,它有 0-7 的 8 列,现在我想绘制一些特定的列而不是全部。我无法选择列。假设我想根据索引绘制第 0 列和第 2 列。我应该为 y 使用什么来选择第 0 列和第 2 列?

plt.plot(x=table.index, y=??)

我尝试使用 y = table.value['0', '2']y=table['0','2'],但没有任何效果。

【问题讨论】:

    标签: python pandas pivot-table python-3.5


    【解决方案1】:

    如果您需要在单个图中使用这两个列值,则不能为 y 选择 ndarray:

    plt.plot(table['0'])
    plt.plot(table['2'])
    

    如果列名是整数,则:

    plt.plot(table[0])
    plt.plot(table[2])
    

    【讨论】:

    • 谢谢。列名是整数。当我执行 plt.plot(x=table.index, y=table[0]) 时,我没有收到任何错误,但不知何故,绘图函数出了点问题。它只显示了一个 x 和 y 范围为 -0.5 - 0.5 的空图。但是,执行 print(table[0]) 确实显示了正确的数据。不知何故, plt.plot(table[0]) 和后来的 plt.plot(table[2]) 似乎工作。
    猜你喜欢
    • 2017-09-01
    • 2021-02-28
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 2017-01-14
    相关资源
    最近更新 更多