MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách chuyển đổi trường của một cột đối tượng dtype cụ thể thành cột của khung dữ liệu trong gấu trúc

Bạn có thể tạo khung dữ liệu mới từ cột page_view_count join cột _id . Lần cuối sort_index :

df1 = pd.DataFrame([x for x in df['page_view_count']]).join(df['_id'])
df1 = df1.sort_index(1)
print df1
                            _id  comments  detailed-rating  detailed-rating2  \
0      568a8c25cac4991645c287ac       NaN                2                 1   
1      568cd22e9e82dfc166d7dff1         1                1                 1   
2      568e5a38b4a797c664143dda       NaN                1                 1   
3      568e5a561ae56e09656bfb99       NaN                1               NaN   
4      568df45a177e30c6487d3600         1                1                 1   

   main-rating  thank-you  
0            2        NaN  
1            1          1  
2            1        NaN  
3            1        NaN  
4            1          1  

CHỈNH SỬA:

Vẫn còn sự cố với NaN với phép tham gia. Giải pháp là thay thế NaN để trống dictionary bởi fillna và sau đó tạo Dataframe :

import pandas as pd
import numpy as np


df = pd.DataFrame([[1,  {'name':'Jack','email':'abc'} ], 
                     [2, np.nan],
                     [3,  {'name':'Ram','email':'xyz'}  ],
                     ], columns=['_id','page_view_count'])

print df[df['page_view_count'].isnull()].index
#Int64Index([1], dtype='int64')

print pd.Series([{}], index=df[df['page_view_count'].isnull()].index , name='page_view_count')
#1    {}
#Name: page_view_count, dtype: object

df['page_view_count'] = df['page_view_count'].fillna(pd.Series([{}], index=df[df['page_view_count'].isnull()].index , name='page_view_count'))
print df
#   _id                       page_view_count
#0    1  {u'name': u'Jack', u'email': u'abc'}
#1    2                                    {}
#2    3   {u'name': u'Ram', u'email': u'xyz'}


df1 = pd.DataFrame([x for x in df['page_view_count']]).join(df['_id'], how='right')
df1 = df1.sort_index(1)
print df1
#   _id email  name
#0    1   abc  Jack
#1    2   NaN   NaN
#2    3   xyz   Ram



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bắt đầu với quản lý người dùng MongoDB

  2. Điều gì đang xảy ra với Meteor và Fibers / bindEnosystem ()?

  3. Làm thế nào để sử dụng Elasticsearch với MongoDB?

  4. Nodejs mongodb không woking trên máy chủ

  5. làm thế nào để biến một biến trở thành một khóa duy nhất trong mongoose?