【发布时间】:2020-07-01 00:06:41
【问题描述】:
我正在处理一个大型医疗数据集,我想查看是否有一些行对应于同一位患者。与患者 ID 对应的列是 ID Patient。
我想创建一个新列,如果该患者出现在多行中,则为 "yes",如果仅出现一次,则为 "no"。
这是我做的代码:
df['Repeated'] = 'No' # New Column
for i in range(0,len(df)):
for f in range(0,len(df)):
if df['ID NP'].iloc[i] == df['ID NP'].iloc[f]:
df['ID NP'].iloc[i] = 'Yes'
else:
df['ID NP'].iloc[i] = 'No'
但是此操作花费了太多时间。有什么方法可以更快吗?
【问题讨论】:
-
你可以使用duplicated。
标签: python pandas loops for-loop replace