features
- это серия списков, поэтому я думаю, что вы не можете избежать l oop. Дайте списку понять, помогает ли он на скорости
eps_tfs = {col:[] for col in eps}
features = [i in l for l in df['features'] for i in range(len(eps))]
n = 0
for b in features:
if b == True:
try:
eps_tfs[eps[n]].append(True)
except:
n = 0
eps_tfs[eps[n]].append(True)
else:
try:
eps_tfs[eps[n]].append(False)
except:
n = 0
eps_tfs[eps[n]].append(False)
n += 1
df = pd.concat([df, pd.DataFrame(eps_tfs)], axis=1)
Out[1007]:
[False,
True,
False,
False,
True,
False,
True,
False,
False,
False,
False,
False,
True,
False,
False,
False,
False,
False,
False,
False,
False,
False,
True,
False,
False,
True,
True,
True,
False,
True,
False,
False,
False,
False,
False,
False,
False,
False,
False,
False,
True,
False,
False,
False,
False,
False,
False,
True,
True,
True,
False,
False,
False,
False,
False,
False,
False,
False,
True,
False,
False,
True,
False,
False,
False,
False,
False,
True,
False,
False,
False,
False,
False,
False,
False,
False]
Примечание : мой образец eps
имеет длину 19, поэтому мой вывод имеет длину 76 в виде 4 строк по df.features
умножает 19, получая список feat
из 76 элементов