我有一个很大的基因座数据框架,我试图根据相似的起止值按基因分组,例如,行与行之间的终值之差不应该超过2000,才能算作同一个基因。
Example Data Frame
| 开始|完|
| - ------|- ------|
| 五千|六千|
| 小行星12|一万三千|
它们应该构成两个不同的基因。
| 开始|完|
| - ------|- ------|
| 三万七千|三万八千|
| 小行星38500|小行星39000|
这些应该是相同的基因。
我试过通过创建一个结束值差异的索引并使用cumsum()来拆分 Dataframe ,但程序停止了。
一个月一个月一个月一个月一个月
这将返回一个具有相似起始值和结束值的 Dataframe 列表。
理想情况下,我想做的是能够将 Dataframe 分解为类似于cut函数的区间,而不必创建全新的 Dataframe 。然后,我能够在每个区间内工作。我相信这将与split函数一起工作,但程序似乎停止了。我相信这是由于我正在处理的数据量很大。
2条答案
按热度按时间wnavrhmk1#
你在寻找这样的东西吗?如果是这样,我很乐意解释下面代码的工作原理。
tp5buhyn2#
在
DF
上运行kmeans
,如最后的注解中所示。我们假设可以有1到3个集群。根据需要进行更改。然后在下面显示手肘图上,2个集群似乎是一个不错的值,因此使用2个集群运行kmeans
以获得分组向量。我们可以看到,聚类将前两行分配给了一个聚类,将后两行分配给了另一个聚类。注解