sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur får jag åtkomst till inbäddade json-objekt i en Pandas DataFrame?

En lösning är bara att krossa den 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 vissa fall vill du konkat detta till DataFrame i stället för dict-raden:

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

Om det går djupare kan du göra detta några gånger...




  1. Använd 'MongoMappingContext#setAutoIndexCreation(boolean)' eller åsidosätt 'MongoConfigurationSupport#autoIndexCreation()' för att vara explicit

  2. Det bästa mönstret för att hantera asynkron looping i Node.js

  3. Unika dokument som använder flera värden i Mongoose Schema

  4. Hur hämtar och skriver jag ut pymongo.cursor.Cursor-objekt?