Я столкнулся с неожиданным поведением в pandas при сравнении двух серий. Я хотел знать, если это предназначено или ошибка.
предположим, что I:
import pandas as pd
x = pd.Series([1, 1, 1, 0, 0, 0], index=['a', 'b', 'c', 'd', 'e', 'f'], name='Value')
y = pd.Series([0, 2, 0, 2, 0, 2], index=['c', 'f', 'a', 'e', 'b', 'd'], name='Value')
x > y
дает:
a True
b False
c True
d False
e False
f False
Name: Value, dtype: bool
что я не хотел. Очевидно, я ожидал, что индексы выстроятся в линию. Но я должен явно выстроить их для получения желаемых результатов.
x > y.reindex_like(x)
дает:
a True
b True
c True
d False
e False
f False
Name: Value, dtype: bool
Это то, что я ожидал.
Что хуже, если я:
x + y
Я получаю:
a 1
b 1
c 1
d 2
e 2
f 2
Name: Value, dtype: int64
Поэтому при работе индексы выстраиваются в линию. При сравнении они этого не делают. Является ли мое наблюдение точным? Это предназначено для какой-то цели?
Спасибо,
-PiR