gpt4 book ai didi

python - 交错列表并通过 pandas 分配到数据帧的两列?

转载 作者:行者123 更新时间:2023-12-02 01:38:40 25 4
gpt4 key购买 nike

我有一个列表,我想交错所有组合中的元素,然后将它们分配到 pandas 中数据帧的两列,例如:

df = pd.DataFrame(columns = ["pair1","pair2"])

mylist = ["a", "b", "c"]

for i in mylist:

for j in mylist:

df.loc[df.shape[0]] = [i, j]

输出

    pair1   pair2
0 a a
1 a b
2 a c
3 b a
4 b b
5 b c
6 c a
7 c b
8 c c

但是,这样的分配速度很慢。

我们有更快的方法吗?

最佳答案

对于 pandas 解决方案,您可以使用 pd.MultiIndex:

df[['pair1','pair2']] = pd.MultiIndex.from_product([mylist]*2).tolist()

或者您也可以交叉合并(如果您有 pandas>=1.2.0):

df = pd.merge(pd.Series(mylist, name='pair1'), pd.Series(mylist, name='pair2'), how='cross')

输出:

  pair1 pair2
0 a a
1 a b
2 a c
3 b a
4 b b
5 b c
6 c a
7 c b
8 c c

关于python - 交错列表并通过 pandas 分配到数据帧的两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71948872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com