gpt4 book ai didi

python - 将小节后缀值添加到 pandas 列值

转载 作者:行者123 更新时间:2023-11-30 22:08:36 24 4
gpt4 key购买 nike

假设我有一个包含多列的数据框。其中一栏为某些人建立了身份号码(ID),另一栏则为他们建立了一些特征,比如说所犯下的不当行为的程度。一个例子:

`df
Out[63]:
Crime ID
0 13 1
1 13 1
2 12 1
3 12 1
4 13 3
5 13 3
6 13 3
7 63 3
8 63 3
9 63 3
10 63 3
11 3 3
12 7 6
13 7 6
14 13 6
15 13 6
16 45 6`

是否可以根据犯罪的多样性对 ID 进行分类?可能的输出是:

`df1
Out[64]:
Crime ID
0 13 1
1 13 1
2 12 1.1
3 12 1.1
4 13 3
5 13 3
6 13 3
7 63 3.1
8 63 3.1
9 63 3.1
10 63 3.1
11 3 3.2
12 7 6
13 7 6
14 13 6.1
15 13 6.1
16 45 6.2`

提前致谢

最佳答案

我想不出以矢量化方式执行此操作的好方法,但通过循环来完成此操作相对容易。

首先,您需要一个将(犯罪、ID)对映射到 ID 的字典,这样您就可以为第 9 行指定与第 7 行相同的 ID。

接下来,您需要一个字典将 ID 映射到迄今为止使用的最高子 ID,以便您可以为第 16 行指定与第 12 行和第 14 行不同的 ID。

类似这样的东西(未经测试):

def remap(df):
pairmap = {}
subidmap = {}
for row in df.itertuples():
if (row.Crime, row.ID) not in pairmap:
if row.ID not in subidmap:
subidmap[row.ID] = 0
subid = str(row.ID)
else:
subidmap[row.ID] += 1
subid = f'{row.ID}.{subidmap[row.ID]}'
pairmap[row.Crime, row.ID] = subid
yield pairmap[row.Crime, row.ID]

df1.ID = list(remap(df1))

关于python - 将小节后缀值添加到 pandas 列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52123106/

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