[英]Assigning Category specific values as observations in a new column
I'm assigning value "x" to all observations in column 'Superkingdom_name' when category Unknown1 is selected in Class column.当在 Class 列中选择类别 Unknown1 时,我将值“x”分配给列“Superkingdom_name”中的所有观察值。
df.loc[df['class'] == "Unknown1", 'Superkingdom_name'] = "x"
Similarly for assigning value Y to Unknown2, I do it like this同样,将值 Y 分配给 Unknown2,我这样做
df.loc[df['class'] == "Unknown2", 'Superkingdom_name'] = "y"
Question: Can we do this for multiple categories.问题:我们可以为多个类别执行此操作吗? But not manually.
但不是手动的。 Can we loop it?
我们可以循环吗? Instead of doing for each category as below:
而不是为每个类别做如下:
df.loc[df['class'] == "Unknown1", 'Superkingdom_name'] = "x"
df.loc[df['class'] == "Unknown2", 'Superkingdom_name'] = "y"
df.loc[df['class'] == "Unknown2", 'Superkingdom_name'] = "z"
I could make a list of categories in "Class" column and make it an iterable like我可以在“类”列中列出类别并使其成为可迭代的
df["class"].unique().tolist()
---> ["Unknown1","Unknown2","Unknown3"] ---> ["Unknown1","Unknown2","Unknown3"]
But I do not get how to assign values to the "Superkingdom_name" in a for loop.但我不知道如何在 for 循环中为“Superkingdom_name”赋值。
Try using replace().尝试使用替换()。
df['Superkingdom_name']= df['class'].replace(['Unknown1','Unknown2','Unknown3'],['x','y','z'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.