我是使用 Pandas 的新手。我想从多列值匹配的数据框中选择行。沿着以下路线:
如果 A 列等于 AB 列且 B 列等于 BC 列
那么我想要这些值。
我实际上并没有使用 if 语句,我读到迭代不适用于熊猫。
我试图找到一个解决方案,我不确定这是我的语法还是它对列的不同数据类型不满意?
我的代码有点长,所以我只提供我尝试选择的行,但如果有帮助,我可以发布整个代码。
dfequal=dfMerged.loc[(dfMerged['MetCode']==dfMerged['GCD_METCODE']) & (dfMerged[dfMerged['Zone Code']==dfMerged['GCD_Senior_ZONE']]) & (dfMerged[dfMerged['Municipality Code']==dfMerged['GCD_CSDUID']])]
编辑*
预期的输出将是一个数据帧,其中只有语句为真的行才会存在。
这是错误:
ValueError: 操作数无法与形状一起广播 (84778,) (4462,)
这是我从中提取的数据表
FileID,MetCode,Municipality Code,Zone
Code,GCD_Senior_ZONE,GCD_METCODE,GCD_CSDUID
A100101,7175,1005018,303006,303006,7175,1005018
A100102,7175,1005018,303006,303006,7175,1005018
A100103,7175,1005018,303006,303006,7175,1005018
A100104,7280,1006009,202003,202003,7280,1006009
A100105,7300,1006017,202003,202003,7300,1006017
A100108,7300,1006017,202003,202003,7300,1006017
A100109,7300,1006017,202003,202003,7300,1006017
A100110,1640,1001485,101001,101001,1640,1001485
A100111,1640,1001517,101001,101001,1640,1001517
A100114,9000,1008011,202003,202003,0,1008011
A100115,9000,1001370,101002,101002,0,1001370
A100119,9000,1003034,202003,202003,0,1003034
九州编程
相关分类