python 中的叉积/笛卡尔积
cross product/ cartesian product in python
我想得到日期的笛卡尔积。我在数据集中有以下日期(月)
201801
201802
作为我想要的输出
您可以使用 itertools.product
。让 L 成为您的列 df['dates']
例如 -
from itertools import product
l = [201801,201802]
out = pd.DataFrame(list(product(l,l)))
print(out)
0 1
0 201801 201801
1 201802 201801
2 201801 201802
3 201802 201802
或者您可以简单地使用列表理解来迭代 l 2 次。
out = pd.DataFrame([(j,i) for i in l for j in l])
print(out)
0 1
0 201801 201801
1 201802 201801
2 201801 201802
3 201802 201802
我想得到日期的笛卡尔积。我在数据集中有以下日期(月)
201801 201802
作为我想要的输出
您可以使用 itertools.product
。让 L 成为您的列 df['dates']
例如 -
from itertools import product
l = [201801,201802]
out = pd.DataFrame(list(product(l,l)))
print(out)
0 1
0 201801 201801
1 201802 201801
2 201801 201802
3 201802 201802
或者您可以简单地使用列表理解来迭代 l 2 次。
out = pd.DataFrame([(j,i) for i in l for j in l])
print(out)
0 1
0 201801 201801
1 201802 201801
2 201801 201802
3 201802 201802