【发布时间】:2020-03-16 12:09:07
【问题描述】:
我有一个 pandas DataFrame df,看起来像这样(示例):
df = pd.DataFrame({'Time' : ['Low','High','Medium','Low','Low','High','Low','High','Medium'],
'Sentiment' : ['Pos','Neg','Neg','Pos','Pos','Neg','Neg','Pos','Neg'],
'Product' : ['P1','P1','P1','P2','P1','P2','P2','P2','P1']})
我的问题很简单(我在发布之前搜索过),我需要创建一个crosstab,可以使用以下命令轻松创建:
pd.crosstab(df['Time'],df['Sentiment'])
并给出所需的输出:
Sentiment Neg Pos
Time
High 2 1
Low 1 3
Medium 2 0
现在数据中有一个名为 Product 的列,它有大约 50 个唯一类别(对于示例,我包括了 2 个),我需要为所有类别创建类似的 crosstab 对象,我该怎么做?
我的预期输出如下所示:
Crosstab 代表 Product1 (P1):
P1
Sentiment Neg Pos
Time
High 1 0
Low 0 2
Medium 2 0
Crosstab 用于 Product1 (P2):
P2
Sentiment Neg Pos
Time
High 1 1
Low 1 1
Medium 0 0
如何一次性获得 50 个crosstab?
【问题讨论】:
标签: python pandas pivot-table crosstab