#python #pandas
#python #pandas
Вопрос:
у меня есть 3 списка, например, как показано ниже:
list1 = [1,2]
list2 = [x,y]
list3 = [i,j,l]
как я могу разделить их и сохранить в фрейме данных pandas, как следующий фрейм данных:
list1 list2 list3
1 x i
1 x j
1 x l
1 y i
1 y j
1 y l
2 x i
2 x j
2 x l
2 y i
2 y j
2 y l
я не смог найти ни одного подобного вопроса в Stackoverflow.
Ответ №1:
Вы можете использовать:
import itertools
df_new=pd.DataFrame(list(itertools.product(list1,list2,list3)),
columns=['list1','list2','list3'])
print(df_new)
list1 list2 list3
0 1 x i
1 1 x j
2 1 x l
3 1 y i
4 1 y j
5 1 y l
6 2 x i
7 2 x j
8 2 x l
9 2 y i
10 2 y j
11 2 y l
Ответ №2:
Взломать из pandas
pd.MultiIndex.from_product([list1,list2,list3],names=['list1','list2','list3']).to_frame().reset_index(drop=True)
Out[196]:
list1 list2 list3
0 1 x i
1 1 x j
2 1 x l
3 1 y i
4 1 y j
5 1 y l
6 2 x i
7 2 x j
8 2 x l
9 2 y i
10 2 y j
11 2 y l
Комментарии:
1. Тоже неплохо. 🙂