在panda dataframe中为给定的列值创建序列ID

2024-06-16 09:54:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想为“Type”列中的每个给定值创建一个唯一的顺序ID,但似乎无法使其正常工作。你知道吗

当前数据帧:

    Item    Type    ID
0   Apple   Fruit   0
1   Orange  Fruit   1
2   Banana  Fruit   2
3   Peach   Fruit   3
4   Cheese  Dairy   0
5   Milk    Dairy   1
6   Chicken Meat    0
7   Pork    Meat    1
8   Beef    Meat    2

所需数据帧:

    Item    Type    ID
0   Apple   Fruit   0
1   Orange  Fruit   1
2   Banana  Fruit   2
3   Peach   Fruit   3
4   Cheese  Dairy   0
5   Milk    Dairy   1
6   Chicken Meat    0
7   Pork    Meat    1
8   Beef    Meat    2

我试着设置索引并创建一个单独的列来指示“Type”值的变化,但无法创建所需的格式。感谢您的帮助。你知道吗


Tags: 数据idappletypeitembananafruitpeach
1条回答
网友
1楼 · 发布于 2024-06-16 09:54:48

尝试使用cumcount()

df = pd.DataFrame(data={"Type":["Fruit","Fruit","Dairy","Meat","Meat"],
                        "Item":["Apple","Orange","Chesse","Pork","Beef"]})

df["ID"] = df.groupby(['Type']).cumcount()
print(df)
    Type    Item  ID
0  Fruit   Apple   0
1  Fruit  Orange   1
2  Dairy  Chesse   0
3   Meat    Pork   0
4   Meat    Beef   1

我希望它能解决你的问题

相关问题 更多 >