Вы можете использовать ChainMap из коллекций.
from collections import ChainMap
df = pd.DataFrame.from_dict(ChainMap(*user_dict), orient='index')
Если вы не хотите использовать ChainMap, вы можете перебирать dict в user_dict (список), а затем добавлять эти DF в основнуюdf.
df = pd.DataFrame()
for d in user_dict:
df = df.append(pd.DataFrame.from_dict(d, orient='index'))
ChainMap работает значительно быстрее для меня
1.43 ms ± 13.7 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
против
7 ms ± 121 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)