Это не векторизовано. Одним из эффективных решений было бы предоставление списка словарей конструктору pd.DataFrame
через list
+ map
с dict
:
s = pd.Series([[('a', '2000'),('b', '4000'),('d', '5000')],
[('a', '1000'),('b', '3000'),('c', '6000'),('d', '7000')]])
# example dataframe
df = pd.DataFrame(s, columns=['data'])
# convert list of tuples to dict for each element in series
res = pd.DataFrame(list(map(dict, df['data'])))
print(res)
a b c d
0 2000 4000 NaN 5000
1 1000 3000 6000 7000