当在类别列中选择类别Unknown1时,我将值"x“赋值给列'Superkingdom_name‘中的所有观测值。
df.loc[df['class'] == "Unknown1", 'Superkingdom_name'] = "x"
类似地,对于将值Y赋值给Unknown2,我这样做
df.loc[df['class'] == "Unknown2", 'Superkingdom_name'] = "y"
问:我们可以对多个类别执行此操作吗?但不是手动的。我们可以循环它吗?而不是像下面这样对每个类别执行以下操作:
df.loc[df['class'] == "Unknown1", 'Superkingdom_name'] = "x"
df.loc[df['class'] == "Unknown2", 'Superkingdom_name'] = "y"
df.loc[df['class'] == "Unknown2", 'Superkingdom_name'] = "z"
我可以在"Class“列中创建一个类别列表,并使其成为一个可迭代的类似
df["class"].unique().tolist()
-> "Unknown1","Unknown2","Unknown3“
但是我不知道如何在for循环中为"Superkingdom_name“赋值。
发布于 2021-01-23 08:15:14
尝试使用replace()。
df['Superkingdom_name']= df['class'].replace(['Unknown1','Unknown2','Unknown3'],['x','y','z'])
https://stackoverflow.com/questions/65856811
复制相似问题