减少 python 中的数据帧行

reduce dataframe rows in python

我有 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

我认为 explained_variance_ratio_ 会用 for 循环处理这个问题,请帮忙

除非我误解了你的问题,否则我认为你混淆了 PCA 的目的(降维) 与简单的数据帧操作减少行数。这些是非常不同的东西:

降维,您可以通过 PCA 获得,它会修改数据帧的值(这就是重点),这是一种有用但不是非常直接的方法creating/extracting 从您的数据中提取用于分析、可视化高维数据等的新功能。看看 pca and dimensionality reduction 上的维基百科页面,看看这是否确实是您想要的。如果你想要的,我建议你重新表述你的问题。

减少行数是完全不同的东西,在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