Как создать DataFrame из словаря, который содержит DataFrames?

У меня есть словарь, который содержит данные для каждого ключа. Словарь происходит от этого кода:

for city in a:
        forecast = api.get_forecast(city='city')
        b = pd.DataFrame(forecast.get_series(['temp','precip','clouds','weather']))
        for lab,row in b.iterrows():
            b.loc[lab,"Forecast"]=b.iloc[lab][4]['description']
        b= b.drop(['weather'],axis=1)
        d[city]=b

Так что у меня для каждого города погода рассчитана на несколько единиц времени. Я хотел бы создать новый фрейм данных, содержащий все ключевые слова с дополнительным столбцом для каждого ключа для всех ключевых слов внутри него. Этот шаг необходим, потому что мне нужно загрузить его в Amazon RedShift.

1 ответ

Решение

Ты можешь использовать concat с пониманием списка, чтобы объединить значения вашего словаря, и assign добавить столбец с указанием города:

df = pd.concat([v.assign(city=k) for k, v in d.items()], ignore_index=True)
Другие вопросы по тегам