如果单元格 [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], ]
然后在子数据帧上计算
我正在使用 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], ]
然后在子数据帧上计算