根据条件对数据框列中的值进行分组

时间:2020-02-27 11:21:26

标签: python pandas dataframe

{ "exists": { "field": "check" } }

预期输出:

Type
   A
   A  
   A
   B
   B
   A
   B

我到目前为止尝试过的代码

Type     Count
   A         3
   B         2
   A         1
   B         1

我得到的输出

result_list = list(df['Type'])
result_count = Counter(result_list)
result_dict = dict(result_count)
result_df = DataFrame(list(result_dict.items()),columns = ['Type','Count'])

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

这是一种方法:

g = df.Type.ne(df.Type.shift())
count = df.Type.groupby(g.cumsum()).size()
df[g].assign(count=count.values).reset_index(drop=True)

    Type  count
0    A      3
1    B      2
2    A      1
3    B      1