首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果细胞[2,5]不是熊猫的细胞[5,5](不是价值,而是细胞)

如果细胞[2,5]不是熊猫的细胞[5,5](不是价值,而是细胞)
EN

Stack Overflow用户
提问于 2015-07-29 15:11:48
回答 2查看 46关注 0票数 0

我正在使用Pandas,我正在将一个excel电子表格转换成一个数据文件,并试图做以下工作:

代码语言:javascript
复制
if RowCol[2,5] is not RowCol[5,5]: 
    calculation

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

代码语言:javascript
复制
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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-29 16:04:56

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

代码语言:javascript
复制
for index, row in df.iterrows():
    rownum = 1
    for cell in row:
        if index==5 and rownum==5:
           do_stuff()
        rownum+=1
票数 0
EN

Stack Overflow用户

发布于 2015-07-29 16:12:36

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

代码语言:javascript
复制
for index in range(len(df)):
    if row == 5:
        continue
    else:
        myfunction()

如果你不想循环你可以

代码语言:javascript
复制
inds = range(len(df))
inds.remove(5)
df_not5 = df_not5.ix[ df.index[inds],  ] 

然后在子数据上计算

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31704428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档