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