gpt4 book ai didi

python - 即使未找到匹配项,Pandas itertuples 第一行也会返回 true

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

我有 2 个 csv 文件,其行完全相同,如下所示:

asas,asafdfdd,fgffgdvnufg,rterrtrrtr,wewewtyuhe,yuuiiyuyuy,uiuiui9u absas,a2assafdfdd,fgffgedkfg,rtdfrtrrtr,wewewuikjhe,yuuiuiyouyuy,ui7u8iuiu asbas,asasdfdfdd,fgffgfpoftg,rtrjktrrtr,wewewuyihe,yuyuyyupuy,uiu7iuiu asabs,asafddffdd,fgffg2floig,rtrtrcxcrtr,weweyjunwe,yuyuyumy,uiui6uiu asasbb,asafddfdd,fgffgdfkfg,rtrtrjkhrtr,wewewdfxe,yuyuyuny,uiui5uiu absbas,asafdrtfdd,fgffgvbfg,rtrt3rrcxvtr,wewedfcwe,yuycuyuy,uiu4iuiu

我在分别名为 df1 和 df2 的 2 个数据帧中读取了这 2 个 csv 文件。当我执行 result = (df1==df2) 时,我会在结果中得到另一个数据帧,其中具有匹配的 True/False 值(在本例中为 True)。

现在,当使用下面的代码时,即使该元组中没有“False”值,也会显示第一行。

for row in result.itertuples():    
if(False in row):
print (row)

这是为什么呢?我需要在这里做一些不同的事情吗?

完整代码仅供引用:

import pandas as pd

df1 = pd.read_csv('test3.csv', header=None)
df2 = pd.read_csv('test4.csv', header=None)

result = (df1==df2)
print result
for row in result.itertuples():
if(False in row):
print (row)

最佳答案

这是因为第一行中有一个零。所以[0]中的False是True。发生这种情况是因为第一个索引值为零。

如果您改变索引值

result.index += 1

然后运行循环...它不会打印。

<小时/>

现在这解释了为什么会发生这种情况。但我不会做你这样的事。

我愿意

for i, row in result.iterrows():
if not row.all():
print(row)

关于python - 即使未找到匹配项,Pandas itertuples 第一行也会返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40757462/

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