Python中文
首页
教程
问答
标签
搜索
登录
注册
删除重复的序列名称
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我实际上有一个数据帧,下面是一个示例:</p> <pre><code>cluster seq_sp1 seq_sp2 1 seq20 seq56 1 seq56 seq20 2 seq3 seq5 3 seq9 seq5 3 seq7 seq4 3 seq4 seq7 </code></pre> <p>我想删除重复的序列: 在本例中,<code>seq20 seq56</code>是重复的,因为也有<code>seq56 seq20</code>,<code>seq7 seq4</code>和<code>seq4 seq7</code>也是重复的</p> <p>我想解决方法是首先对所有列进行排序,例如:</p> <pre><code>cluster seq_sp1 seq_sp2 1 seq20 seq56 1 seq20 seq56 2 seq3 seq5 3 seq9 seq5 4 seq7 seq4 4 seq7 seq4 </code></pre> <p>然后移除两个重复序列中的一个,得到:</p> <pre><code> cluster seq_sp1 seq_sp2 1 seq20 seq56 3 seq3 seq5 4 seq9 seq5 6 seq7 seq4 </code></pre> <p>感谢您的帮助:)</p> <p>你给我的剧本报告:</p> <p>这里是我的第一个数据头(见图片中看到的彩色双面组)</p> <pre><code>cluster_name qseqid sseqid pident_x pident_y length qstart qend sstart send qspec sspec 13 cluster_016663 EOG090X00GO_0035_0035_1 EOG090X00GO_0042_0035_1 0.93 93.0 1179 1 1175 1 1179 0035 0042 14 cluster_016663 EOG090X00GO_0035_0035_1 EOG090X00GO_0042_0042_1 0.93 93.0 1179 1 1175 1 1179 0035 0042 16 cluster_016663 EOG090X00GO_0035_0042_1 EOG090X00GO_0042_0035_1 0.93 93.0 1179 1 1175 1 1179 0035 0042 17 cluster_016663 EOG090X00GO_0035_0042_1 EOG090X00GO_0042_0042_1 0.93 93.0 1179 1 1175 1 1179 0035 0042 19 cluster_016663 EOG090X00GO_0042_0035_1 EOG090X00GO_0035_0035_1 0.93 93.0 1179 1 1179 1 1175 0042 0035 20 cluster_016663 EOG090X00GO_0042_0035_1 EOG090X00GO_0035_0042_1 0.93 93.0 1179 1 1179 1 1175 0042 0035 22 cluster_016663 EOG090X00GO_0042_0042_1 EOG090X00GO_0035_0035_1 0.93 93.0 1179 1 1179 1 1175 0042 0035 23 cluster_016663 EOG090X00GO_0042_0042_1 EOG090X00GO_0035_0042_1 0.93 93.0 1179 1 1179 1 1175 0042 0035 </code></pre> <p>下面是我应该得到的结果:</p> <pre><code> Unnamed: 0 cluster_name qseqid sseqid pident_x pident_y length qstart qend sstart send qspec sspec 0 13 cluster_016663 EOG090X00GO_0035_0035_1 EOG090X00GO_0042_0035_1 0.93 93.0 1179 1 1175 1 1179 35 42 1 14 cluster_016663 EOG090X00GO_0035_0035_1 EOG090X00GO_0042_0042_1 0.93 93.0 1179 1 1175 1 1179 35 42 8 27 cluster_015764 EOG090X00LI_0035_0035_1 EOG090X00LI_0042_0042_1 0.8059999999999999 82.3 1013 1 1013 1 1008 35 42 9 28 cluster_015764 EOG090X00LI_0035_0035_1 EOG090X00LI_0042_0035_1 0.784 78.4 1013 1 1013 1 963 35 42 11 32 cluster_015764 EOG090X00LI_0042_0035_1 g1726.t1_0035_0042 0.67 58.5 1010 1 963 1 751 42 35 </code></pre> <p>但实际上我得到了:</p> <pre><code>Unnamed: 0 cluster_name qseqid sseqid pident_x pident_y length qstart qend sstart send qspec sspec 0 13 cluster_016663 EOG090X00GO_0035_0035_1 EOG090X00GO_0042_0035_1 0.93 93.0 1179 1 1175 1 1179 35 42 1 14 cluster_016663 EOG090X00GO_0035_0035_1 EOG090X00GO_0042_0042_1 0.93 93.0 1179 1 1175 1 1179 35 42 </code></pre> <p>我用了这个代码:</p> <pre><code>df=pd.read_table("dataframe.txt",header=0,sep='\t') df[['qseqid','sseqid']] = np.sort(df[['qseqid','sseqid']], axis=1) df = df.drop_duplicates(subset=['qseqid ','sseqid']) df.to_csv("df_test",sep='\t') </code></pre> <p><a href="https://i.stack.imgur.com/wn2Yg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wn2Yg.png" alt="picture"/></a></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>例如:</p> <pre><code>df_set = df.apply(lambda x: str(sorted(set(x))), 1) In: df[~df_set.duplicated()] Out: seq_sp1 seq_sp2 cluster 1 seq20 seq56 2 seq3 seq5 3 seq9 seq5 3 seq7 seq4 </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
7 回答
尽管python中的表达式为false,但循环仍在运行
3 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
4 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
6 回答
尽管python字典包含了大量的条目,但它并没有增长
1 回答
尽管python说模块存在,为什么我会得到这个消息?
4 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
9 回答
尽管stdout和stderr重定向,但未捕获错误消息
1 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
5 回答
尽管tkinter上的变量已更改,但显示未更改
4 回答
尽管try/except使用Python进行单元测试时出现断言错误
1 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
2 回答
尽管url有效,Pandas仍读取url的\u csv错误
1 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
3 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
9 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
7 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
5 回答
尽管下载了i,但找不到型号“fr”
7 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
1 回答
尽管为所有行指定了权重,网格(0)仍不起作用
6 回答