我想基于数据框中现有列中的值定义新列。我要做的是基于特定列(在本例中为[Type]列)中的唯一值创建列,并用从[Percentage]列中获取的对应值填充它们。对于那些没有特定[Type]的[Cluster]值,我希望该值为零。最后,如果[Cluster]中的值与具有相同[Type]的多个实例重复,则我希望为新数据框中的[Type]列的值求和。
我的数据框如下:
Cluster Type Percentage
positive_2 Simple_repeat 0.544033
positive_2 Low_complexity 1.241074
positive_4 Simple_repeat 2.138504
positive_4 Simple_repeat 3.462604
positive_11 SINE 6.302663
positive_13 rRNA 99.534884
positive_15 Unique 0.000000
positive_16 LTR 100.000000
positive_20 Unique 0.000000
positive_21 Unique 0.000000
这就是我想要的:
Cluster Simple_repeat Low_complexity SINE rRNA LTR Unique
positive_2 0.544033 1.241074 0 0 0 0
positive_4 5.601108 0 0 0 0 0
positive_11 0 0 6.302663 0 0 0
positive_13 0 0 0 99.534884 0 0
positive_16 0 0 0 0 100 0
positive_20 0 0 0 0 0 0
positive_21 0 0 0 0 0 0
我认为我可以使用数据透视来执行类似的操作,但是我不确定如何管理[Cluster]中每个值的缺失类型。