использование
ался разбить столбец из списков на отдельные столбцы. У меня есть решение, но оно очень медленное.
У меня есть следующий пандас dataframe
|basket |
|['two apple','A banana'] |
|['Red pear','A banana'] |
|['two apple','A banana','Red pear']|
Который я хотел бы преобразовать в следующий кадр данных.
|basket |two apple|A banana|Red pear|
|['two apple','A banana'] |1 |1 |0 |
|['Red pear','A banana'] |0 |1 |1 |
|['two apple','A banana','Red pear']|1 |1 |1 |
У меня есть следующий код, после того, как я уже создал нужные столбцы:
for index,row in enumerate(df.basket):
if index>0 and index%10000==0:
print(index/len(df.baskets),' percent complete')
for n,col in enumerate(df.columns):
for pattern in row:
if col == pattern:
df[col,index]=1
break
С количеством строк, которые у меня есть, это занимает вечность, и я надеялся найти более эффективный способ заполнения столбцов, даже если мне придется создавать их из столбцов списков.