【问题标题】:How can I list components of a list individually within a pivot table?如何在数据透视表中单独列出列表的组件?
【发布时间】:2019-04-29 18:33:04
【问题描述】:

在下面的数据透视表中,我想将列表/元组中的元素分开,以便垂直显示,并且没有列表的 [] 括号。

所以不是在 C/2 组中显示 [o,t] 而是垂直显示 B 行具有更高的高度并且不包括 [] 和 ,如下所示? (除非它们之间没有大空间)

o

t

代码如下。谢谢。

import pandas as pd

item_list=["m","n","o","p","q","r", "s", "t", "u", "v"]
group_list=["A", "B", "B" ,"C", "D","E", "D", "B" ,"B", "D"]
rank_list=[1,1,2,3,5]*2

df = pd.DataFrame({"Items":item_list, "Group":group_list, "Rank":rank_list})
df.pivot_table(index="Group", columns="Rank", aggfunc=list,fill_value='')

输出如下:

【问题讨论】:

    标签: python pandas dataframe pivot-table


    【解决方案1】:

    你可以试试这个:

    df['Items'].stack().apply(lambda x: pd.Series([i for i in x])).unstack().stack(0)
    

    输出:

    Rank       1    2    3    5
    Group                      
    A     0    m  NaN  NaN  NaN
    B     0    n    o    u  NaN
          1  NaN    t  NaN  NaN
    C     0  NaN  NaN    p  NaN
    D     0    s  NaN  NaN    q
          1  NaN  NaN  NaN    v
    E     0    r  NaN  NaN  NaN
    

    【讨论】:

      猜你喜欢
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      • 2021-08-21
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多