Условная выборка кадра данных в Python - PullRequest
1 голос
/ 23 марта 2020

У меня есть датафрейм с именами, полом, возрастом людей:

Я хотел бы создать новый фрейм данных, выбрав фиксированное число выборок, чтобы средний возраст нового фрейма данных совпадал с оригинальный DataFrame.

sample_df = pd.DataFrame({'Var':['A','B','C','D','E'] , 'Ages' : [22,35,43,18,NaN]})

sample_df
Out[410]: 
  Var  Ages
0   A    22
1   B    35
2   C    43
3   D    18
4   E    NaN

Я хотел бы выбрать только 3 строки, так что возраст 'E' равен среднему значению A, B, C, D

1 Ответ

0 голосов
/ 24 марта 2020

Рассмотрим неопределенную итерацию, используя while True, затем break после удовлетворения потребностей, но в зависимости от изменчивости ваших данных, это может занять некоторое время для обработки. Ниже строится список из 100 рядов и разрывы после достижения десяти образцов.

samples = []

while True:
   sample_df = df.sample(n = 100)

   if sample_df['Age'].mean() == df['Age'].mean():
      samples.append(sample_df)

   if len(samples) == 10:
      break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...