【发布时间】:2023-01-04 20:37:40
【问题描述】:
我想知道使用how="cross" 的合并操作是否会将我的行顺序保持在左侧和右侧,更清楚地说,我除了类似的东西:
df1 = pd.DataFrame(["a", "b", "c"])
df2 = pd.DataFrame(["1", "2", "3"])
df1.merge(df2, how="cross")
# I except the result to be ALWAYS like this (with 1, 2, 3 repeating) :
0 a 1
1 a 2
2 a 3
3 b 1
4 b 2
5 b 3
6 c 1
7 c 2
8 c 3
我测试了很少的数据,但我将不得不使用数十亿行,因此很难检查顺序是否保持不变。
在pandas doc,他们说:
cross:从两个帧创建笛卡尔积,保留左键的顺序。
左键被保留,所以我应该假设右键顺序不是吗?
谢谢你的帮助
【问题讨论】:
-
“我假设右键顺序不是“嗯,在组合的第二个顺序中,总是 1/2/3、1/2/3、1/2/3