Calcule 2,5% por debajo y 2,5% por encima de la media en Python

CorePress2024-01-25  286

¿Cómo imprimo el marco de datos, donde la población está dentro del 5% de la media? (2,5% por debajo y 2,5% por encima)

Esto es lo que he probado:

mean = df['population'].mean()
minimum = mean - (0.025*mean)
maximum = mean + (0.025*mean)

df[df.population < maximum]

2

Python no tiene marcos de datos. Si utiliza Pandas, incluya siempre la etiqueta pandas como se describe en la wiki de etiquetas de Python.

- Chris

28/03/2021 a las 17:43



------------------------------------

Uso:

df.loc[(df['population'] > minimum) & (df['population'] < maximum)]



------------------------------------

import pandas as pd 
df = pd.read_csv("fileName.csv")
#suppose this dataFrame contains the population in the int format
mean = df['population'].mean()
minimum = mean - (0.025*mean)
maximum = mean + (0.025*mean)

ans = df.loc[(df['population']>minimum) & (df['population'] <maximum)]
ans

puedes usar esto



------------------------------------

Construí este marco de datos para realizar pruebas.

import numpy as np
import pandas as pd

random_data = np.random.randint(1_000_000, 100_000_000, 200)

random_df = pd.DataFrame(random_data, columns=['population'])

random_df

Aquí está la respuesta a lo que estabas pidiendo específicamente.

pop = random_df.population
top_boundary = pop.mean() + pop.mean() * 0.025
low_boundary = pop.mean() - pop.mean() * 0.025

criteria_boundary_limits = random_df.population.between(low_boundary, top_boundary)

criteria_boundary_df = random_df.loc[criteria_boundary_limits]

criteria_boundary_df

Pero, tal vez, se podría obtener otra respuesta utilizando cuantiles. Usé 40 cuantiles porque 1/40 = 0,025.

groups_list = list(range(1,41))

random_df['groups'] = pd.qcut(random_df['population'], 40, labels = groups_list)

criteria_groups_limits = random_df.groups.between(20,21)
criteria_groups_df = random_df.loc[criteria_groups_limits]

criteria_groups_df

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare