我目前正在进行测试,其中我有不同的区域和一些相关的统计数据,以及位于这些区域的逗号分隔的基因列表。此列表的编号可变,并且可能不包含任何内容("NA")。
我怎样才能“融化”这个数据帧:
region_id statistic genelist
1 2.5 A, B, C
2 0.5 B, C, D, E
3 3.2 <NA>
4 0.1 E, F
进入这样的事情:
region_id statistic gene
1 2.5 A
1 2.5 B
1 2.5 C
2 0.5 B
2 0.5 C
2 0.5 D
2 0.5 E
3 3.2 <NA>
4 0.1 E
4 0.1 F
解决办法:使用下面的代码,用于stack堆叠它,', '然后再拆分,然后再堆叠,因为我们将它堆叠两次,用于unstack取消堆栈-2,然后使用reset_indexwith 重置索引-1,之后执行最后reset_index没有参数:
print(df.set_index(['region_id', 'statistic'])
.stack()
.str.split(', ', expand=True)
.stack()
.unstack(-2)
.reset_index(-1, drop=True)
.reset_index()
)








暂无数据