У меня есть этот набор данных из Бюро переписей США с взвешенными данными:
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% информации.
Спасибо!