我正在使用Pandas,我正在将一个excel电子表格转换成一个数据文件,并试图做以下工作:
if RowCol[2,5] is not RowCol[5,5]:
calculation现在,我的数据框架名为z,我有以下内容:
if z.iloc[2,5] != z.iloc[5,5]:
calculation 但是,这是不起作用的,因为它考虑了行的值。如果行,col 2,5是10,col 5,5是10,那么计算就不会运行,而实际上我希望它运行。我唯一不想让计算运行的时候是行,col是5,5。
我知道我可以使用iloc获得值,但我并不关心这些值,我只是想要它,这样如果我们不在行上,第5,5,然后计算运行,但如果我们击中行,如5,5,然后计算不运行,但不同的计算只运行行,第5,5。有人知道使用什么函数,为此,我认为我不使用loc?
发布于 2015-07-29 16:04:56
我相信,既然您已经在迭代数据,那么最好只跟踪您当前的位置。df.iterrows()跟踪您的索引。
for index, row in df.iterrows():
rownum = 1
for cell in row:
if index==5 and rownum==5:
do_stuff()
rownum+=1发布于 2015-07-29 16:12:36
因为您只关心行(似乎您固定在第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], ] 然后在子数据上计算
https://stackoverflow.com/questions/31704428
复制相似问题