逻辑运算符 Python 两个 == 在迭代数据框中不起作用
Logical Operator Python two == does not work in iteration dataframe
我有一个数据框,想 select 两行用自定义函数在它们之间进行插值。问题是我只看到一行,不明白为什么我的声明不起作用。数据如下所示:
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
试试这个,看看它是否适合你:
基本上语句 (2.0 and 3.0)
只选择等级为 3.0
的行
你需要像我下面那样手动指定一个范围:
ank = data[['DataPoint']].count().values[0]*(1-0.99)
check_int = isinstance(Rank, int)
if not check_int:
#loop
for ind in data.index: # Below line, picks ranks more than 2.0 but less than 3.0
if (data['Rank'][ind] >= 2.0 and data['Rank'][ind] <= 3.0):
print(data['DataPoint'][ind], data['Rank'][ind])
(2.0 and 3.0)
求值为 3.0
,因为这是最后要求值的东西。这就是您缺少 2.0
的原因。
您可以将其更改为 in
以使其保持在一行中。
if data['Rank'][ind] in (2.0, 3.0):
...
我有一个数据框,想 select 两行用自定义函数在它们之间进行插值。问题是我只看到一行,不明白为什么我的声明不起作用。数据如下所示:
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
试试这个,看看它是否适合你:
基本上语句 (2.0 and 3.0)
只选择等级为 3.0
的行
你需要像我下面那样手动指定一个范围:
ank = data[['DataPoint']].count().values[0]*(1-0.99)
check_int = isinstance(Rank, int)
if not check_int:
#loop
for ind in data.index: # Below line, picks ranks more than 2.0 but less than 3.0
if (data['Rank'][ind] >= 2.0 and data['Rank'][ind] <= 3.0):
print(data['DataPoint'][ind], data['Rank'][ind])
(2.0 and 3.0)
求值为 3.0
,因为这是最后要求值的东西。这就是您缺少 2.0
的原因。
您可以将其更改为 in
以使其保持在一行中。
if data['Rank'][ind] in (2.0, 3.0):
...