У меня есть DataFrame кривых, где каждая кривая представлена в виде DataFrame из пар x, y. Это выглядит примерно так:
a b c d
0 curve curve curve curve
1 curve curve curve curve
2 curve curve curve curve
3 curve curve curve curve
...
Где каждая "кривая" представляет собой простой X или Y DataFrame, представляющий кривую
| x | y
----------
0 | -1 | 0
1 | 0 | 0
2 | 0 | 0.02
3 | 1 | 0.02
...
Какой самый эффективный способ получить список уникальных значений «y» во всем DataFrame. Вот мой первый проход, и он работает, но я сомневаюсь, что он самый эффективный.
flattened_array = np.concatenate([np.concatenate([curve.y for curve in curves]) for name, curves in df_of_curves.iteritems()])
unique_values = np.unique(flattened_array)
Я также экспериментировал с использованием .unique () для каждой серии на этом пути, но, похоже, это не влияло на производительность:
flattened_array = np.concatenate([np.concatenate([curve.y.unique() for curve in curves]) for name, curves in df_of_curves.iteritems()])
unique_values = np.unique(flattened_array)