Создание Dataframe из List & Pivot, Python 3.6 - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть список ниже, и я хочу преобразовать DataFrame со значением «concept» в виде Column & Value в строках XML_List:

[{'concept': 'MEASURE', 'value': '1'}, {'concept': 'INDIGENOUS_STATUS', 'value': 'IM'}, {'concept': 'ASGS_2011', 'value': '0'}, {'concept': 'FREQUENCY', 'value': 'A'}]

Преобразование списка в Dataframe:

XML_SeriesKey = pd.DataFrame(XML_List)

print(XML_SeriesKey)

         concept value
0            MEASURE     1
1  INDIGENOUS_STATUS    IM
2          ASGS_2011     0
3          FREQUENCY     A

Ожидается:

MEASURE INDIGENOUS_STATUS   ASGS_2011   FREQUENCY
1       IM                  0           A

Можем ли мы сделать это при создании Dataframe из списка?

XML_SeriesKey = pd.DataFrame(XML_List) # Any possibility while creating Dataframe?

1 Ответ

0 голосов
/ 01 февраля 2019

Используйте понимание списка с zip:

v =  [(x.get('concept'), x.get('value')) for x in XML_List]
cols, vals = zip(*v)

XML_SeriesKey= pd.DataFrame([vals], columns=cols)
print(XML_SeriesKey)
  MEASURE INDIGENOUS_STATUS ASGS_2011 FREQUENCY
0       1                IM         0         A

Или создайте индекс из concept и транспонируйте:

XML_SeriesKey = pd.DataFrame(XML_List).set_index('concept').T
XML_SeriesKey.columns.name = None

print(XML_SeriesKey)
        MEASURE INDIGENOUS_STATUS ASGS_2011 FREQUENCY
value         1                IM         0         A
...