Как выбрать индекс строки и имя переменной на основе значения во фрейме данных? - PullRequest
1 голос
/ 23 февраля 2020

У меня большой фрейм данных, состоящий из чисел с плавающей запятой между -1,0 и 1,0. Я хотел бы создать новый список, содержащий строки индекса, имена переменных и значения для всех ячеек, имеющих номер больше 0,59.

Вот пример:

      A      B      C    D  ...    FD
0   0.34   -0.23   0.6  0.7 ...   0.3
1   -0.5    0.99   0.8  0.2 ...   0.8
...
45  0.8   0.13    0.34  0.4 ...  -0.9

    output:
    0  C  0.6
    0  D  0.7
    1  B  0.99
    1  C  0.8
...
    1 FD  0.8
    etc..

Спасибо!

1 Ответ

0 голосов
/ 25 февраля 2020

Я уверен, что должно быть лучшее решение, чем у меня, поскольку у меня ужасная производительность (итерация за ячейкой). Но вот моя попытка:

# creating a sample df
df = pd.DataFrame(np.random.uniform(-1, 1, size=(10, 4)), columns=list('abcd'))

new_list = []

for tup in df.itertuples():
    for i in range(1, len(tup)):
        if tup[i] > 0.59:
            new_list.append([tup.Index, df.columns[i-1], tup[i]])             

new_df = pd.DataFrame(new_list, columns=['index', 'column', 'value'])
new_df = new_df.set_index('index')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...