MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie greife ich auf eingebettete JSON-Objekte in einem Pandas DataFrame zu?

Eine Lösung besteht darin, es einfach mit dem Series-Konstruktor zu zerschlagen:

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

In einigen Fällen möchten Sie concat this zum DataFrame anstelle der dict-Zeile:

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

Wenn es tiefer geht, kannst du das ein paar Mal machen...