gpt4 book ai didi

python - 组合两列以在 pd Dataframe 中生成索引

转载 作者:行者123 更新时间:2023-12-01 00:02:44 25 4
gpt4 key购买 nike

首先,如果有人问过这个问题并回答过这个问题,请原谅。我看过herehere ,浏览了推荐重复的标题并尝试使用搜索引擎,但似乎无法找到正确的关键字。

问题

我的问题如下:给定一个包含两个“标识符”列的数据框,我想创建一个唯一描述两列中每个值组合的索引:

例如:列“a”的值为 0,列“b”的值为“0”,索引号应为 1。相同的组合应映射到相同的值。

方法

df = pd.DataFrame({
'a': np.random.randint(0,3,10),
'b': np.random.randint(0,3,10),
'c': np.random.randint(0,10,10)
})

mapping = [(*key, i+1) for i, key in enumerate(df.groupby(by=['a', 'b']).groups.keys())]
crutch = pd.DataFrame(mapping, columns=['a', 'b', 'new_index'])
df = df.merge(crutch, left_on=['a', 'b'], right_on=['a', 'b'])

这可行,但似乎应该有一些东西内置在 pandas 中,而我缺少。

问题

那么,pandas 中是否有一些内置的东西可以提供帮助,但我无法弄清楚?

谢谢

非常感谢您的帮助。

最佳答案

IIUC,groupby.ngroup

df['new_index'] = df.groupby(['a','b']).ngroup().add(1)
print(df)
a b c new_index
0 2 1 4 6
1 1 1 5 3
2 1 1 8 3
3 1 1 2 3
4 2 2 8 7
5 2 2 5 7
6 2 0 8 5
7 0 1 7 1
8 1 2 5 4
9 0 2 5 2

关于python - 组合两列以在 pd Dataframe 中生成索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60228428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com