Следующий пример из Интернета для реализации функции expand_grid () содержит три переменные: рост (2 категории), вес (3 категории), пол (2 категории), всего 2 *3 * 2 = 12 категорий.
df={'height': [60, 70],
'weight': [100, 140, 180],
'sex': ['Male', 'Female']}
Выполнение expand_grid для вышеуказанного объекта
expand_grid(df)
дает следующий результат:
sex weight height
0 Male 100 60
1 Male 100 70
2 Male 140 60
3 Male 140 70
4 Male 180 60
5 Male 180 70
6 Female 100 60
7 Female 100 70
8 Female 140 60
9 Female 140 70
10 Female 180 60
11 Female 180 70
Я хотел бы сделать то же самое для набора данных сследующие колонки (категории):
Раса (9), Семейное положение (3), Пол (2), Возраст (2), Испанец (2).
Это 9 * 3 * 2 *2 * 2 = 216 категорий.
Я хотел бы что-то вроде следующего:
Race Marital_Status Sex Age Hispanic
0 White Married Male Under_18 Hispanic
1 White Married Male Under_18 Non-Hispanic
2 White Married Male Over_18 Hispanic
3 White Married Male Over_18 Non-Hispanic
4 White Married Male Over_18 Hispanic
5 White Married Female Under_18 Hispanic
.
.
.
216 Asian Single Female Over_18 Non-Hispanic
Когда я пытаюсь запустить expand_grid (), системе не хватает памяти.
Мне сказали, что если есть способ, которым Python распознает тип данных (например, список, вектор и т. Д.) Перед этим, это будет быстрее и вычислительно дешевле.Есть ли способ реализовать это?
Большое спасибо!