熊猫条件分组依据和计数值

时间:2020-03-24 17:00:36

标签: pandas group-by count nested conditional-statements

我要为“ a”标签的相同“ aa”值计算与“ b”标签相对应的“ bb”值的数量。它是问题的简化版本。

例如,当职位为程序员时,与“计算机技能”相对应的“ Python”值的数目(“ aa”值表示为“ a”标签)。

我运行以下代码,但是它不起作用,对。结果应为2'bb'对应于2'aa'。

import numpy as np
import pandas as pd
data= {'id':[1, 1, 1, 2, 2, 2, 3, 3, 3, 3], 
   'Label':['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'b', 'c'], 
   'Values':['aa', 'bb', 'cc', 'dd', 'ee', 'cc', 'aa', 'bb', 'bbb', 'cc'] 
     } 
dataset=pd.DataFrame(data=data)
d=dataset.groupby(by=['Label'])
for k, value in d: 
      print(value[value.Label=='a'].groupby('Values').count())

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

import pandas as pd
data= {'id':[1, 1, 1, 2, 2, 2, 3, 3, 3, 3],
   'Label':['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'b', 'c'],
   'Values':['aa', 'bb', 'cc', 'dd', 'ee', 'cc', 'aa', 'bb', 'bbb', 'cc']
     }
dataset=pd.DataFrame(data=data)
d=dataset.groupby(by=['Label'])
for k, value in d:
    print(value.loc[value.Label=='a','Values'].value_counts())