Здесь необходимо преобразовать значения в списки и затем индексировать:
d = {'column1': [{1,2,3},{4,5,6}]}
df = pd.DataFrame(d)
print (df.column1.apply(lambda x: list(x)[0]))
0 1
1 4
Name: column1, dtype: int64
Или использовать next
с iter
:
print (df.column1.apply(lambda x: next(iter(x))))
Преимущество работает также с пустыми set
s - возможно установить значение по умолчанию:
d = {'column1': [{1,2,3},{4,5,6}, {}]}
df = pd.DataFrame(d)
print (df.column1.apply(lambda x: next(iter(x), 'no match')))
0 1
1 4
2 no match
Name: column1, dtype: object