我意识到这是一个相当长的问题,但我一直试图解决这几天来没有成功,并怀疑是否有人可能有一些想法。你知道吗
考虑这样一个电子表格:
apple1 grape1 apple2 grape2 apple3 grape3
1 0 4 -0.2 2 0 4
2 0 4 0 6 0 3
3 -0.1 2 0 4 0 4
4 -0.5 5 0 6 -0.2 5
5 -0.4 4 0 5 0 2
6 0 6 -0.1 5 0 3
我想在我的数据帧中搜索任何值小于-0.1的单元格,并写出值、列标题、行号和相邻值。你知道吗
一开始,我觉得这可能很简单:
Newlist()
if df >= -0.1:
Newlist.append(cell.value)
Newlist.append(row.value)
Newlist.append(column.value)
Newlist.append(cell.value.shift(1))
我完全意识到上面的话毫无意义,但我希望它能传达出我一直在努力的想法。你知道吗
接下来,我可以将df转换为一个列表并从中开始工作(使用ifnot>;=-0.1删除对象?),但这似乎不雅观,远离理想。不过,如果有人能让它发挥作用,我对此持开放态度。你知道吗
我一定已经看了每一个堆栈交换问题张贴在这个没有管理任何东西,所以道歉,如果我忽略了一些非常明显的东西。你知道吗
谢谢!你知道吗
首先,要过滤数据帧,可以使用boolean indexing如下:
这样,所有不优于-0.1的数据都将显示为nan,然后可以使用Pandas.isnull()来标识它们。你知道吗
要获取所需数据的行和列,可以使用df.to_numpy()将数据帧转换为数组,并使用enumerate对行和列进行迭代,以保持当前正在迭代的行/列的id:
这将导致如下结果:
可以在循环中使用以下命令获取列名称:
一旦你得到了这些ID,你就可以通过直接访问ie得到邻近的值
只需记住设置一个条件,不访问不在数组中的值!你知道吗
相关问题 更多 >
编程相关推荐