如果单元格 [2,5] 不是 pandas 中的单元格 [5,5](不是值而是单元格)

If cell[2,5] is not cell[5,5] in pandas (not value but cell)

我正在使用 Pandas 并将 excel 电子表格转换为数据框并尝试执行以下操作:

if RowCol[2,5] is not RowCol[5,5]: 
    calculation

现在我的数据框称为 z,我有以下内容:

if z.iloc[2,5] != z.iloc[5,5]: 
    calculation 

但是这不起作用,因为它考虑了 row,col 的值。如果 row,col 2,5 是 10 而 row,col 5,5 是 10 那么计算不会 运行,而实际上我想要它 运行。唯一一次我不想计算 运行 是当行,列为 5,5 时。

我知道我可以使用 iloc 获取值,但我不关心这些值,我只想要它,这样如果我们不在 row,col [5,5] 上,那么计算 运行s 但如果我们在数据框中命中行,列 [5,5],则计算不会 运行,但不同的计算是 运行 仅适用于行,列 [5,5]。有谁知道为此使用什么功能,我不认为我使用 loc?

我相信,既然您已经在遍历数据框,那么最好只跟踪您当前的位置。 df.iterrows() 跟踪您的索引。

for index, row in df.iterrows():
    rownum = 1
    for cell in row:
        if index==5 and rownum==5:
           do_stuff()
        rownum+=1

因为你只关心行(似乎你固定在第 5 列)

for index in range(len(df)):
    if row == 5:
        continue
    else:
        myfunction()

如果你不想循环你可以这样做

inds = range(len(df))
inds.remove(5)
df_not5 = df_not5.ix[ df.index[inds],  ] 

然后在子数据帧上计算