Панды: как применить весовой столбец для создания нового кадра данных с взвешенными данными - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть этот набор данных из Бюро переписей США с взвешенными данными:

    Weight  Income ......
2     136    72000
5      18    18000
10     21    65000
11     12    57000
23     43    25700

Первый человек представляет 136 человек, второй 18 и так далее.Есть много других столбцов, и мне нужно сделать несколько диаграмм и расчетов.У меня будет слишком много работы, чтобы применять вес каждый раз, когда мне нужно сделать диаграмму, сводную таблицу и т. Д.

В идеале я хотел бы использовать это:

df2 = df.iloc [np.repeat (df.index.values, df.PERWT )]

Для созданияневзвешенный или плоский фрейм данных.

Это создает новый большой (1,4 ГБ) фрейм данных:

     Weight Wage
0    136    72000
0    136    72000
0    136    72000
0    136    72000
0    136    72000
.....

Дело в том, что при использовании всех столбцов набора данных моему компьютеру не хватает памяти,

Есть идеи о том, как использовать весовые коэффициенты для создания нового взвешенного кадра данных?

Я связал это:

df2 = df.sample(frac=1, weights=df['Weight']) 

Но, похоже, он дает те же данные,Решение проблемы может быть изменено на 0,5, но я потеряю 50% информации.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...