Contar la frecuencia con la que ocurre un conjunto de valores en una columna del dataframe.
Soy bastante nuevo en Python y Pandas, tengo 15000 valores en una columna de mi dataframe como este.
col1 | col2 |
---|---|
5 | 0.05964 |
19 | 0.00325 |
31 | 0.0225 |
12 | 0.03325 |
14 | 0.00525 |
Quiero obtener un resultado de esta manera:
0.00 a 0.01 = 55 valores,
0.01 a 0.02 = 365 valores,
0.02 a 0.03 = 5464 valores, etc… de 0.00 a 1.00
Estoy un poco perdido con groupby o count.values, etc…
Gracias por la ayuda!
davy.ai
Para obtener la salida deseada, puedes utilizar la función
cut
de pandas para agrupar los valores de la columna y luego usarvalue_counts
para contar la frecuencia de los valores en cada grupo. Aquí tienes un ejemplo de código:Esto debería producir la salida deseada. La función
pd.interval_range
se utiliza para definir los grupos como un rango desde 0 hasta 1 con una frecuencia de 0.01, por lo que habrá un total de 100 grupos. La funciónpd.cut
se utiliza para agrupar los valores en la columna ‘col2’ de acuerdo con estos grupos, y luegovalue_counts
se utiliza para contar la frecuencia de valores en cada grupo (consort_index
utilizado para asegurar que los grupos se impriman en orden). Por último, se utiliza un bucle para imprimir cada grupo junto con su conteo.