Я столкнулся со странной проблемой здесь.У меня есть кадр данных df
, как показано ниже:
In [1561]: df
Out[1561]:
A B
0 16.3 1.10
1 23.2 1.33
2 10.7 -0.43
3 5.7 -2.01
4 5.4 -1.86
5 23.5 3.14
Я сравниваю каждые две соседние строки столбца A
и сохраняю разницу в новом столбце:
In [1562]: df['new_diff'] = (df.A - df.A.shift(-1)).fillna(0)
In [1563]: df
Out[1563]:
A B new_diff
0 16.3 1.10 -6.9
1 23.2 1.33 12.5
2 10.7 -0.43 5.0
3 5.7 -2.01 0.3
4 5.4 -1.86 -18.1
5 23.5 3.14 0.0
Когда я проверяю строки, где new_diff
равно 5.0
, я получаю пустой фрейм данных.Но он прекрасно работает, когда я проверяю < 5.0
или > 5.0
.См. Ниже:
In [1567]: df[df['new_diff'] == 5.0]
Out[1567]:
Empty DataFrame
Columns: [A, B, new_diff]
Index: []
In [1568]: df[df['new_diff'] > 5.0]
Out[1568]:
A B new_diff
1 23.2 1.33 12.5
In [1569]: df[df['new_diff'] < 5.0]
Out[1569]:
A B new_diff
0 16.3 1.10 -6.9
2 10.7 -0.43 5.0
3 5.7 -2.01 0.3
4 5.4 -1.86 -18.1
5 23.5 3.14 0.0
Пожалуйста, дайте мне знать, что мне здесь не хватает?