уменьшить количество строк в Python - PullRequest
0 голосов
/ 03 мая 2018

у меня есть датафрейм 8000 * 1600, и я хочу уменьшить количество строк без изменения значений, я пробовал pca, но значения изменились пример:

    a 10 20 30 40
    b 20 70 40 50
    c 10 00 80 40
    d 20 30 99 50
    e 10 20 30 40
    f 59 30 40 50
    g 10 20 30 40
    h 90 30 40 50
    i 91 20 34 18

в:

    a 10 20 30 40
    c 10 00 80 40
    h 90 30 40 50
    i 91 20 34 18

Я думаю, объяснил_variance_ratio_ будет обрабатывать это с циклом for, любая помощь, пожалуйста

1 Ответ

0 голосов
/ 03 мая 2018

Если я не понимаю вашу проблему, я думаю, вы путаете цель PCA ( уменьшение размерности) с простой манипуляцией с кадром данных, чтобы уменьшить количество строк . Это очень разные вещи:

Уменьшение размерности , которое вы можете получить через PCA, изменило бы значения вашего информационного кадра (это и есть точка) и является полезным, но не очень простым методом создания / извлечения новых функций из ваши данные для анализа, визуализации многомерных данных и т. д. Посмотрите страницы википедии на pca и уменьшение размерности , и посмотрите, действительно ли это то, что вам нужно. Если это является тем, что вы хотите, я предлагаю вам переформулировать свой вопрос.

Сокращение количества строк - это нечто совершенно другое, и это очень просто в pandas. Исходя из вашего примера, похоже, что вы хотите извлечь ряд случайных строк без изменений из вашего фрейма данных. Это можно сделать следующим образом: df.sample()

Например, на ваших данных, которые вы разместили, выбирается 4 случайных строки:

>>> df.sample(4)
   0   1   2   3   4
0  a  10  20  30  40
2  c  10   0  80  40
7  h  90  30  40  50
5  f  59  30  40  50
...