【发布时间】:2020-06-19 22:33:47
【问题描述】:
我有一个数据框,想选择两行以使用自定义函数在这些行之间进行插值。问题是我只看到一行并且不明白为什么我的声明不起作用。数据如下所示:
DataPoint Rank
1 -9.360001 1.0
2 -9.080002 2.0
3 -9.039993 3.0
4 -7.529999 4.0
5 -7.479996 5.0
... ... ... ... ...
我想插入例如在等级 2.0 和 3.0 之间。代码如下所示:
Rank = data[['DataPoint']].count().values[0]*(1-0.99)
check_int = isinstance(Rank, int)
if not check_int:
#loop
for ind in data.index:
if (data['DataPoint'][ind] == (2.0 and 3.0)):
print(data['DataPoint'][ind], data['Rank'][ind])
作为输出我只收到:
-9.03999300000001 3.0
但不是额外的
-9.080002 2.0
【问题讨论】:
-
data['DataPoint'][ind] == (2.0 and 3.0)等价于data['DataPoint'][ind] == 3.0。因为2.0 and 3.0被评估为3.0。
标签: python pandas dataframe if-statement logical-operators