Как мне преобразовать список / словарь в Dataframe? - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть JSON-ответ (пример ниже), который я пытаюсь преобразовать в DataFrame.У меня было несколько проблем с данными, перечисленными в виде столбцов (1 x 346) и т. Д. Мне нужны только 5 перечисленных ниже столбцов:

area_name,
date,
month,
unemployment_rate,
year

Вот мой код:

edd_ca_df = pd.DataFrame.from_dict(edd_ca, orient="index", 
                                   columns=["area_name", "month", "date", "year", "unemployment_rate"])

и вот пример ответа JSON:

[[{'area_name': 'California',
   'area_type': 'State',
   'date': '1990-01-01T00:00:00.000',
   'employment': '14099700',
   'labor_force': '14953900',
   'month': 'January',
   'seasonally_adjusted_y_n': 'N',
   'status_preliminary_final': 'Final',
   'unemployment': '854200',
   'unemployment_rate': '5.7',
   'year': '1990'},

 {'area_name': 'California',
   'area_type': 'State',
   'date': '1990-02-01T00:00:00.000',
   'employment': '14206700',
   'labor_force': '15049400',
   'month': 'February',
   'seasonally_adjusted_y_n': 'N',
   'status_preliminary_final': 'Final',
   'unemployment': '842800',
   'unemployment_rate': '5.6',
   'year': '1990'},

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 29 ноября 2018

Поскольку у вас есть список словарей, это так же просто, как передать все данные в новый DataFrame и указать, какие столбцы вы хотите сохранить:

import pandas as pd

all_data = [{'area_name': 'California',
   'area_type': 'State',
   'date': '1990-01-01T00:00:00.000',
   'employment': '14099700',
   'labor_force': '14953900',
   'month': 'January',
   'seasonally_adjusted_y_n': 'N',
   'status_preliminary_final': 'Final',
   'unemployment': '854200',
   'unemployment_rate': '5.7',
   'year': '1990'},

 {'area_name': 'California',
   'area_type': 'State',
   'date': '1990-02-01T00:00:00.000',
   'employment': '14206700',
   'labor_force': '15049400',
   'month': 'February',
   'seasonally_adjusted_y_n': 'N',
   'status_preliminary_final': 'Final',
   'unemployment': '842800',
   'unemployment_rate': '5.6',
   'year': '1990'}]

keep_columns = ['area_name','date','month','unemployment_rate','year']
df = pd.DataFrame(columns=keep_columns, data=all_data)

print(df)

Вывод

    area_name                     date     month unemployment_rate  year
0  California  1990-01-01T00:00:00.000   January               5.7  1990
1  California  1990-02-01T00:00:00.000  February               5.6  1990
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...