首页 > 解决方案 > 如何使用 python 从不同大小的列表中附加熊猫数据框?

问题描述

我想根据下图从不同大小的列表中创建熊猫数据框:

数据框

以下是我的清单:

A=[1,2,3]
B=[1,2,3,4,5,6]
C=[1,2,3,4,5,6,7,8,9,10,11,12]

下面是我的python代码:

import pandas as pd

A=[1,2,3]
B=[1,2,3,4,5,6]
C=[1,2,3,4,5,6,7,8,9,10,11,12]

lenA = len(A)
lenB = len(B)
lenC = len(C)

df = pd.DataFrame(columns=['A', 'B','C'])
count1=0
count2=0
for i,v1 in enumerate(A):
    count1+=count1+i
    for j,v2 in enumerate(B):
        for k, v3 in enumerate(C):
            count2 += count2 + j
            if(count1<1):
                if (count2 < 2):
                    df = df.append({'A': v1, 'B': v2,'C':v3}, ignore_index=True)
            else:
                df = df.append({'A': v1, 'B': v2,'C':v3}, ignore_index=True)
print(df)

但我无法获得预期的输出。指导我使用 A、B 和 C 列表获取图像中的输出。提前致谢。

标签: pythonpandasdataframe

解决方案


如果您确定它可以被和lenC整除,那么您可以使用:lenAlenBnp.repeat

pd.DataFrame({
    'A': np.repeat(A, lenC//lenA),
    'B': np.repeat(B, lenC//lenB),
    'C': C
})

输出:

    A  B   C
0   1  1   1
1   1  1   2
2   1  2   3
3   1  2   4
4   2  3   5
5   2  3   6
6   2  4   7
7   2  4   8
8   3  5   9
9   3  5  10
10  3  6  11
11  3  6  12

推荐阅读