python pandas中的列和行中的多个过滤器

时间:2018-08-22 02:10:58

标签: python pandas csv

过滤CSV文件后,我有以下代码:

import pandas as pd

data1=pd.read_csv('Report1.csv',encoding = "ISO-8859-1")

df = data1[pd.notnull(data1['Assignee'])]

group=(df['type'].value_counts())

print(group)

但是当csv看起来像这样时,我被困在这里:

Type     Assignee        status

request  madan          assigned

ris      madan          resolved

request  kumar          resolved

incide   kumar          assigned

incide   madan          assigned

我需要输出为:

madan has 2 assigned and 1 resolved (1  request, 1 ris , 1 inciden)

kumar has 1 assigned and 1 resolved (1 request , 1 incident )

请帮助。 预先感谢。

1 个答案:

答案 0 :(得分:1)

您可以在crosstab中使用pandas

pd.concat([pd.crosstab(df.Assignee, df.status), pd.crosstab(df.Assignee, df.Type)], axis=1)

输出:

          assigned  resolved  incide  request  ris
Assignee
kumar            1         1       1        1    0
madan            2         1       1        1    1