首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据列和输出比较两个文件应同时包含匹配和不匹配的条目

根据列和输出比较两个文件应同时包含匹配和不匹配的条目
EN

Stack Overflow用户
提问于 2020-10-30 00:30:34
回答 1查看 41关注 0票数 0

我是python的新手。我已经写了一个代码,它给出了想要的解决方案。你能帮我用pandas/NumPy重写同样的代码吗?

文件内容如下:

File1包含以下信息:

代码语言:javascript
复制
ID1 USA 18  200

ID1 IND  1  100

ID1 BEL 186 150

ID2 UK  185 200

ID3 UK  200 130

file2包含:

代码语言:javascript
复制
mgk:ID1:brs 1-20    5000

vho:ID1:gld 30-40    4000

sun:ID3:slv 198-400 5500

我的代码:

` `with (r“x.txt”,"r")as X,open(r'y.txt',"r")as Y: datax=[] datay=[]

代码语言:javascript
复制
for eachx in X:
    datax.append(eachx.strip())
    
for eachy in Y:
    datay.append(eachy.strip())
    
for eachofx in datax:
    dataxplitted=eachofx.split("\t")
    xid=dataxplitted[0]
    locx=int(dataxplitted[2])
    #print (xid,locx)
    for eachofy in datay:
        dataysplitted=eachofy.split("\t")
        Yends=dataysplitted[1].split("-")
        ySTART=int(Yends[0])
        ySTOP=int(Yends[1])
        yIDdetails=(dataysplitted[0].split(":"))
        yid=yIDdetails[1]
       # print(yIDdetails,yid)
        
        if(xid==yid):
            if (int(ySTART)<= locx <=int(ySTOP)):
                
                    print (xid,mutID,locx,"exists",ySTART,ySTOP,locx-ySTART,ySTOP-locx)

`输出:

ID1 18退出%1 20 17 %2

ID2 %1退出%1 20 %0 19

ID3 200退出198 400 2 200

说明:文件是基于ID1,ID2等进行比较的。在file2(y.txt)中,它是由“:”分隔的字符串的一部分。.Once如果我找到一个匹配,我需要检查File1第三列中的值是否位于File2第二列中的值之间(值之间用“-”分隔)。如果是,我需要打印"exists“。此外,我希望file1中的这些值与两个值(用“-”分隔)之间存在差异,并将其与一起打印。谢谢你们所有人。

EN

回答 1

Stack Overflow用户

发布于 2020-10-30 00:56:06

如果你可以使用pandas:

代码语言:javascript
复制
import pandas as pd
df1 = pd.read_csv('x.txt', sep=' ', names=['id', 'country', 'num1', 'num2'])
df2 = pd.read_csv('y.txt', sep=' ', names=['id', 'num1', 'num3'])

final_df = df1.merge(df2, on = ['id', 'num1'], how='outer')
final_df['status'] = final_df.apply(lambda x: 'exist' if pd.notnull(x['num3']) else 'no', axis=1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64595345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档