【发布时间】:2022-12-18 12:44:54
【问题描述】:
我有一个数据框和一个密钥,key[1,2,3,4]:
Animal Arm
1 2
1 4
1 3
1 3
1 1
1 1
我想创建一个名为 response 的新列,条件是如果 arm 值在键中,则响应等于 1,否则响应等于 0。然而,诀窍在于它应该只针对第一个值,并且任何重复的 arm 值都应该产生 response 作为 0。像这样 :
Animal Arm Response
1 2 1
1 4 1
1 3 1
1 3 0
1 1 1
1 1 0
最多只能有 4 个值为 response 和 1
这是我试过的:
resp = []
for i in range(len(df3)):
for j in key:
if df['Arm'][i] == j:
resp.append(1)
break
else: resp.append(0)
df['Response'] = resp
但我不知道如何只将键的第一个值设置为 1,并将值的任何重复设置为零。
有人可以帮忙吗?
【问题讨论】:
-
您是否需要根据
Animal和Arm检查重复项?还是仅根据Arm?
标签: python python-3.x pandas dataframe group-by