相关疑难解决方法(0)

将MongoDB中的嵌套数据放入Pandas数据框

我正在将Twitter数据(推文+元数据)收集到MongoDB服务器中。现在我想做一些统计分析。为了将数据从MongoDB获取到Pandas数据框中,我使用了以下代码:

cursor = collection.find({},{'id': 1, 'text': 1})

tweet_fields = ['id', 'text']

result = pd.DataFrame(list(cursor), columns = tweet_fields)
Run Code Online (Sandbox Code Playgroud)

这样,我成功地将数据加载到了Pandas中,这很棒。现在,我想对创建推文的用户进行一些分析,这些推文也是我收集的数据。此数据位于JSON的嵌套部分中(我不确定100%是否为true J​​SON),例如user.id(这是Twitter用户帐户的ID)。

我可以使用点符号将其添加到光标中:

cursor = collection.find({},{'id': 1, 'text': 1, 'user.id': 1})
Run Code Online (Sandbox Code Playgroud)

但这会导致该列的NaN。我发现问题在于数据的结构方式:

没有user.id的游标位:

[{'_id': ObjectId('561547ae5371c0637f57769e'),
  'id': 651795711403683840,
  'text': 'Video: Zuuuu gut! Caro Korneli besucht für extra 3 Pegida Via KFMW http://t.co/BJX5GKrp7s'},
 {'_id': ObjectId('561547bf5371c0637f5776ac'),
  'id': 651795781557583872,
  'text': 'Iets voor werkloze xenofobe PVV-ers, (en dat zijn waarschijnlijk wel de meeste).........Ze zoeken bij Frontex een paar honderd grenswachten.'},
 {'_id': ObjectId('561547ab5371c0637f57769c'),
  'id': 651795699881889792,
  'text': 'RT @ansichtssache47: Geht …
Run Code Online (Sandbox Code Playgroud)

python twitter mongodb pandas

2
推荐指数
1
解决办法
2804
查看次数

标签 统计

mongodb ×1

pandas ×1

python ×1

twitter ×1