Python: добавьте столбец в фрейм данных с разной длиной, повторяя добавленный столбец до заполнения длины фрейма данных

#python #pandas #dataframe

#питон #панды #фрейм данных

Вопрос:

Хос, я мог бы сделать это один:

Df1:

A B
01 AA
02 AB
03 AC
05 ОБЪЯВЛЕНИЕ

Df2:

C
11
12

Фрейм данных ищет:

A B C
01 AA 11
02 AB 12
03 AC 11
05 ОБЪЯВЛЕНИЕ 12

Как я мог бы прийти к этому решению?

Ответ №1:

Вы можете использовать np.tile для повторения элементов столбца C :

 m, n = len(df1), len(df2)
df1['C'] = np.tile(df2['C'], int(np.ceil(m / n)))[:m]
 

Результат:

    A   B   C
0  1  AA  11
1  2  AB  12
2  3  AC  11
3  5  AD  12
 

Ответ №2:

Вы можете сделать concat :

    >>> pd.concat([df1,df2.append(df2).reset_index(drop=True)],axis=1)

       A   B     C
    0  1  AA  11.0
    1  2  AB  12.0
    2  3  AC  11.0
    3  5  AD  12.0