normalización cuantil en el marco de datos de pandas

Simplemente hablando, ¿cómo aplicar la normalización cuantil en un gran marco de datos de Pandas (probablemente 2,000,000 filas) en Python?

PD. Sé que hay un paquete llamado rpy2 que podría ejecutar R en el subproceso, usando normalización de cuantiles en R. Pero la verdad es que R no puede calcular el resultado correcto cuando uso el conjunto de datos de la siguiente manera:

5.690386092696389541e-05,2.051450375415418849e-05,1.963190184049079707e-05,1.258362869906251862e-04,1.503352476021528139e-04,6.881341586355676286e-06
8.535579139044583634e-05,5.128625938538547123e-06,1.635991820040899643e-05,6.291814349531259308e-05,3.006704952043056075e-05,6.881341586355676286e-06
5.690386092696389541e-05,2.051450375415418849e-05,1.963190184049079707e-05,1.258362869906251862e-04,1.503352476021528139e-04,6.881341586355676286e-06
2.845193046348194770e-05,1.538587781561563968e-05,2.944785276073619561e-05,4.194542899687506431e-05,6.013409904086112150e-05,1.032201237953351358e-05

Editar:

Lo que quiero:

Dados los datos mostrados anteriormente, cómo aplicar la normalización cuantil siguiendo los pasos enhttps://en.wikipedia.org/wiki/Quantile_normalization.

Encontré un fragmento de código en Python que declaraba que podía calcular la normalización cuantil:

import rpy2.robjects as robjects
import numpy as np
from rpy2.robjects.packages import importr
preprocessCore = importr('preprocessCore')


matrix = [ [1,2,3,4,5], [1,3,5,7,9], [2,4,6,8,10] ]
v = robjects.FloatVector([ element for col in matrix for element in col ])
m = robjects.r['matrix'](v, ncol = len(matrix), byrow=False)
Rnormalized_matrix = preprocessCore.normalize_quantiles(m)
normalized_matrix = np.array( Rnormalized_matrix)

El código funciona bien con los datos de muestra utilizados en el código, sin embargo, cuando lo pruebo con los datos proporcionados anteriormente, el resultado salió mal.

Dado que ryp2 proporciona una interfaz para ejecutar R en el subproceso de Python, lo pruebo nuevamente en R directamente y el resultado sigue siendo incorrecto. Como resultado, creo que la razón es que el método en R es incorrecto.

Respuestas a la pregunta(5)

Su respuesta a la pregunta