Python中文
首页
教程
问答
标签
搜索
登录
注册
Python Pandas: 若列表中的项匹配pandas列行,则添加新列
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个pandas数据帧和一个列表列表(每个子列表有3个项[name,seq,qual])。我想检查列表列表中的第一个项目是否与df的name列匹配,如果匹配,我想创建新的列,将项目[1]和项目[2]添加到dataframe。你知道吗</p> <p>要设置它:</p> <pre><code>reads = [['read1', 'ACTG', 'FFFF'], ['read2', 'TTTT', 'FF:F'], ['read3', 'ATGC', 'F:FF']] df = pd.DataFrame(reads, columns=['ReadName', 'Sequence1', 'Qual1']) reads2 = [['read3', 'CGCG', 'F::F'], ['read1', 'TGTG', 'F:FF'], ['read2', 'AAAA', 'FFFF']] </code></pre> <p>我试过的:</p> <pre><code>for item in reads2: if item[0] in df['ReadName']: df['Sequence2'] = item[1] df['Qual2'] = item[2] </code></pre> <p>但是最终的df看起来像:</p> <pre><code> ReadName Sequence1 Qual1 Sequence2 Qual2 0 read1 ACTG FFFF CGCG F::F 1 read2 TTTT FF:F CGCG F::F 2 read3 ATGC F:FF CGCG F::F </code></pre> <p>因此,它只是将列表列表中的第一项添加到df中的所有行中。我希望它看起来像:</p> <pre><code> ReadName Sequence1 Qual1 Sequence2 Qual2 0 read1 ACTG FFFF TGTG F:FF 1 read2 TTTT FF:F AAAA FFFF 2 read3 ATGC F:FF CGCG F::F </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用.loc更新行<br/></p> <pre><code>for item in reads2: if item[0] in list(df['ReadName']): df.loc[df['ReadName']==item[0],'Sequence2'] = item[1] df.loc[df['ReadName']==item[0],'Qual2'] = item[2] </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
1 回答
无法使用Django\u mssql\u后端迁移到外部hos
9 回答
无法使用Django&Python3.4连接到MySql
9 回答
无法使用Django+nginx上载媒体文件
6 回答
无法使用Django1.6导入名称模式
2 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
10 回答
无法使用Djangockedi验证CBV中的字段
8 回答
无法使用Djangocketditor上载图像(错误400)
7 回答
无法使用Djangocron进行函数调用
3 回答
无法使用Djangofiler djang上载文件
9 回答
无法使用Djangokronos
4 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
2 回答
无法使用Djangomssq迁移Django数据库
7 回答
无法使用Djangonox创建用户
2 回答
无法使用Djangopyodb从Django查询SQL Server
7 回答
无法使用Djangopython3ldap连接到ldap
1 回答
无法使用Djangoredis连接到redis
1 回答
无法使用Django中的FK创建新表
8 回答