基于嵌套循环创建python数据帧
我是Python熊猫的新手,如果这个问题很简单,我很抱歉。 我有三份清单:基于嵌套循环创建python数据帧,python,pandas,loops,dataframe,Python,Pandas,Loops,Dataframe,我是Python熊猫的新手,如果这个问题很简单,我很抱歉。 我有三份清单: A = ['A','B','C'] M = ['1','2','3'] F = ['plus','minus','square'] 我想把这些列表组合起来,并在数据框中显示出来。 我已尝试使用list.append new_list = [] for i in A: new_list.append(i) for j in (M): new_list.append(j) print(new
A = ['A','B','C']
M = ['1','2','3']
F = ['plus','minus','square']
我想把这些列表组合起来,并在数据框中显示出来。
我已尝试使用list.append
new_list = []
for i in A:
new_list.append(i)
for j in (M):
new_list.append(j)
print(new_list)
['A', '1', '2', '3', 'B', '1', '2', '3', 'C', '1', '2', '3']
我很困惑,如何获得这样的输出(在dataframe中):
似乎您想要创建所有可能排列的所有列表。你可以用itertools和熊猫来做这件事。Itertools是python的本机库:
import pandas as pd
import itertools
A = ['A','B','C']
M = ['1','2','3']
F = ['plus','minus','square']
df = pd.DataFrame(list(itertools.product(A,M,F)), columns=['A','M','F'])
print(df)
输出:
A M F
0 A 1 plus
1 A 1 minus
2 A 1 square
3 A 2 plus
4 A 2 minus
5 A 2 square
6 A 3 plus
7 A 3 minus
8 A 3 square
9 B 1 plus
10 B 1 minus
11 B 1 square
12 B 2 plus
13 B 2 minus
14 B 2 square
15 B 3 plus
16 B 3 minus
17 B 3 square
18 C 1 plus
19 C 1 minus
20 C 1 square
21 C 2 plus
22 C 2 minus
23 C 2 square
24 C 3 plus
25 C 3 minus
26 C 3 square
似乎您想要创建所有可能排列的所有列表。你可以用itertools和熊猫来做这件事。Itertools是python的本机库:
import pandas as pd
import itertools
A = ['A','B','C']
M = ['1','2','3']
F = ['plus','minus','square']
df = pd.DataFrame(list(itertools.product(A,M,F)), columns=['A','M','F'])
print(df)
输出:
A M F
0 A 1 plus
1 A 1 minus
2 A 1 square
3 A 2 plus
4 A 2 minus
5 A 2 square
6 A 3 plus
7 A 3 minus
8 A 3 square
9 B 1 plus
10 B 1 minus
11 B 1 square
12 B 2 plus
13 B 2 minus
14 B 2 square
15 B 3 plus
16 B 3 minus
17 B 3 square
18 C 1 plus
19 C 1 minus
20 C 1 square
21 C 2 plus
22 C 2 minus
23 C 2 square
24 C 3 plus
25 C 3 minus
26 C 3 square
您需要的是三个集合的笛卡尔乘积:
import pandas as pd
from itertools import product
pd.DataFrame(list(product(A,M,F)), columns=['A', 'M', 'F'])
您需要的是三个集合的笛卡尔乘积:
import pandas as pd
from itertools import product
pd.DataFrame(list(product(A,M,F)), columns=['A', 'M', 'F'])
您可以使用
pd.DataFrame(list(product(A,M,F)),columns=['A','M','F'])
product在这里的含义是什么?您需要这样从itertools导入产品:from itertools import product
您可以使用pd.DataFrame(list(product(A,M,F)),columns=['A','M','F']))
这里的产品
是什么意思?您需要像这样从itertools导入产品:从itertools导入产品