我正在使用excel比较三列:我的想法是将两列数据与第三列作为数组进行比较,就像第三列中的每一个值都应该与第一列和第二列中的每一行进行比较一样,并且只想提取第一列和第二列数据出现在第三列中的行python命令
if([x in x,y for datafile] == [x in x for file) and [y in x,y for datafile] == [x in x for file]):
print x,y
else:
print none
这给了我一个语法错误
我已经使用zip
函数将前两列转换为元组x,y对应于元组中的值
Col_1 || Col_2 || file
Abc | Abk | cnl
Nck | Nck | Abk
xkl | cnl | Abc
mzn | mzn |
我把它组合成数据文件((Abc,Abk),(Nck,Nck),(xkl,cnl),(mzn,mzn))
注意:我的第3列的值小于第1列和第2列。我有超过10万个值要比较
我想要一个可用于此查询的python程序
if [x for x,y in mydata if x == genelist and
y for x,y in mydata if y == genelist]:
print (x,y)
else:
有人能在这里纠正上面代码中的语法错误吗
mydata('gene1,genea','gene2,geneb''gene3,genec') and genelist ('genea','geneb','genec')
当我在没有if语句的情况下使用代码时,它会打印出“[]”我不知道这里出了什么问题
您可以使用pandas.Series.isin对其进行筛选:
对于您的excel数据(
eg:comparison.xlsx
):使用:
它会给你:
因为
Abc
和Abk
在file
列中。更新:将结果写入excel文件:
结果将写入excel文件
PythonExport.xlsx
:相关问题 更多 >
编程相关推荐