Поиск уникальных элементов в DataFrame из DataFrames - PullRequest
0 голосов
/ 31 октября 2018

У меня есть 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)
...