如何在python中按模式分组?

sur*_*dra 1 python scipy pandas

我试图通过使用下面的 Pandas 数据框根据模式查找该项目属于哪个类别

数据

   ITEM          CATEGORY
1  red saree     actual
2  red saree     actual
3  glass         lbh
4  glass         lbh
5  red saree     actual
6  red saree     lbh
7  glass         actual
8  bottle        actual
9  bottle        actual
Run Code Online (Sandbox Code Playgroud)

我想弄清楚的是通过获取我想根据类别模式为每个独特项目分配一个类别的独特项目。

预期输出:

  ITEM          CATEGORY
1 red saree     actual
2 glass         lbh
3 bottle        actual
Run Code Online (Sandbox Code Playgroud)

请告诉我如何在python中查找,提前致谢

试过:

import pandas as pd
from scipy.stats import mode
data_x = map(mode, data['category'])
Run Code Online (Sandbox Code Playgroud)

我知道它甚至与此无关,但无法找到如何为此编写代码

EdC*_*ica 5

您可以对“ITEM”和“CATEGORY”列进行分组,然后调用applydf groupby 对象并传递函数mode。然后我们可以调用reset_index并传递 param ,drop=True这样多索引就不会作为列添加回来,因为您已经拥有这些列:

In [161]:

df.groupby(['ITEM', 'CATEGORY']).apply(pd.DataFrame.mode).reset_index(drop=True)
Out[161]:
        ITEM CATEGORY
0     bottle   actual
1      glass      lbh
2  red saree   actual
Run Code Online (Sandbox Code Playgroud)