sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan får jeg adgang til indlejrede json-objekter i en Pandas DataFrame?

En løsning er bare at smadre det med seriekonstruktøren:

In [1]: df = pd.DataFrame([[1, {'a': 2}], [2, {'a': 1, 'b': 3}]])

In [2]: df
Out[2]: 
   0                   1
0  1           {u'a': 2}
1  2  {u'a': 1, u'b': 3}

In [3]: df[1].apply(pd.Series)
Out[3]: 
   a   b
0  2 NaN
1  1   3

I nogle tilfælde vil du gerne kontakte dette til DataFrame i stedet for dict-rækken:

In [4]: dict_col = df.pop(1)  # here 1 is the column name

In [5]: pd.concat([df, dict_col.apply(pd.Series)], axis=1)
Out[5]: 
   0  a   b
0  1  2 NaN
1  2  1   3

Hvis det går dybere, kan du gøre dette et par gange...




  1. Mongodb Aggregation:Sådan returneres kun matchende elementer i en matrix

  2. Hvorfor er en enkelt Jedis-instans ikke trådsikker?

  3. Sådan eksporteres MongoDB-forespørgselsresultater til en CSV-fil

  4. Hvordan kører man Redis på Amazon OpsWorks for en Rails-applikation?