我有两个大数据块,两个公共列将它们捆绑在一起。一个“应该”是另一个的子集,但是当我执行合并时,最终产品小于子集,所以我想查看原始行(以及子集中的行)以查看为什么它无法正确合并。这可能是上游脚本中的一些错误,但我的新手 pandas 使用可能有误。
我可以通过迭代两个数据集的值并找到合并中缺少的值的明显方式来做到这一点,但我假设有一种更有效的“熊猫”方式。
chip_raw= pandas.read_csv(filename, names=["CHROM", "POS", "GT", "score", "rsid"], sep=" ")
seq_data= pandas.read_csv(seq_filename, names=["CHROM", "POS", "vcf_gt", "gq"], sep="\t")
merged = pandas.merge(chip_raw, seq_data, on=["CHROM", "POS"], how="inner")
我进行了编辑以显示数据如何相互关联的示例。我在 chip_raw 中有 GT、score 和 rsid,它们唯一地绑定到 CHROM 和 POS(这两列一起标识唯一性)。然后,我有来自不同文件的 vcf_gt 和 gq 。我想看看chip_raw中有什么没有被合并,seq_data/merged也是如此。
我只是对使用 pandas 来做这件事感到好奇,因为我正在学习 pandas,而且似乎库比迭代每个项目并查看它是否存在于合并中更有效。