Создайте список в Pandas DataFrame, и каждый список объединит значения столбцов из предыдущих строк - PullRequest
0 голосов
/ 30 сентября 2019

Я хотел бы создать панду data_frame, как показано ниже. Есть ли способ сделать это? Спасибо

df = pd.DataFrame({'Column 1':['A','B','C'], 
                   'Column 2':[['A'],['A','B'],['A','B','C']]})


  Column 1   Column 2
0        A        [A]
1        B     [A, B]
2        C  [A, B, C]

1 Ответ

0 голосов
/ 30 сентября 2019

Я предполагаю, что у вас есть только Столбец 1 и вы хотите сгенерировать Столбец 2 .

Изначально я думал о расширении с приложениемфункции, соединяющей аргумент ( Series ), но оказалось, что для , расширяющего , требуется числовой аргумент.

Но ваша задача может быть выполнена с использованием "обычного" применить , с функцией, которая выполняет такую ​​"кумуляцию" самостоятельно.

Начните с определения функции, добавляющей свой аргумент во "внутренний" список (содержащийся в качестве ее атрибута) и возвращающей каждый раз, когдакопия списка, собранного до сих пор:

def addTbl(x):
    addTbl.tbl.extend(x)
    return addTbl.tbl.copy()

Затем инициируйте его атрибут tbl для [] , примените его к каждому элементу Столбец 1 и сохраните результат в Столбец 2 :

addTbl.tbl = []
df['Column 2'] = df['Column 1'].apply(addTbl)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...