gpt4 book ai didi

python - 使用 python 代码比较 Excel 列

转载 作者:太空宇宙 更新时间:2023-11-03 15:14:34 26 4
gpt4 key购买 nike

我正在使用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 列的值。我有超过 100k 个值需要比较

我想要一个用于此查询的工作 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 数据(例如:comparison.xlsx):

enter image description here

用途:

import pandas as pd
df = pd.read_excel('comparison.xlsx')
result = df[df['finaldata1'].isin(list(df['check'])) & df['finaldata2'].isin(list(df['check']))]
result

它会给你:

    finaldata1  finaldata2  check
0 Abc Abk cnl

as AbcAbk 位于 file 列中。

更新:将结果写入 Excel 文件:

from pandas import ExcelWriter

writer = ExcelWriter('PythonExport.xlsx')
result.to_excel(writer,'Sheet1',index=False)
writer.save()

结果将写入Excel文件PythonExport.xlsx:

enter image description here

关于python - 使用 python 代码比较 Excel 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43970265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com