のmongoexportからのJSON配列をBeddit sleeptrackerのデータが含まれています。以下は、切り捨てられたドキュメントの1つの例です(不要な詳細を削除しました)。 thisとthisなどのPandasを使用してPythonで埋め込み配列を埋め込んだネストJSON
{
"user" : "xxx",
"provider" : "beddit",
"date" : ISODate("2016-11-30T23:00:00.000Z"),
"data" : [
{
"end_timestamp" : 1480570804.26226,
"properties" : {
"sleep_efficiency" : 0.8772404,
"resting_heart_rate" : 67.67578,
"short_term_resting_heart_rate" : 61.36963,
"activity_index" : 50.51958,
"average_respiration_rate" : 16.25667,
"total_sleep_score" : 64,
},
"date" : "2016-12-01",
"session_range_start" : 1480545636.55059,
"start_timestamp" : 1480545636.55059,
"session_range_end" : 1480570804.26226,
"tags" : [
"not_enough_sleep",
"long_sleep_latency"
],
"updated" : 1480570805.25201
}
],
"__v" : 0
}
いくつかの関連の質問は、上記のデータ構造のために働くしていないようです。他の関連する質問で推奨されているように、パフォーマンス上の理由から各行をループすることを避けようとしています(完全なデータセットは〜150MBです)。 「データ」 -keyをjson_normalizeで平滑化すると、各のキーがトップレベルになります。私は1つのDataFrameを好むだろう。 total_sleep_scoreは列です。
ご協力いただきありがとうございます。 JavaScriptを使用してデータを「準備する」方法を知っていますが、Pythonを使って理解してやりたいと思います。
編集(好ましい構造を示すためのコメントからのリクエスト):
{
"user" : "xxx",
"provider" : "beddit",
"date" : ISODate("2016-11-30T23:00:00.000Z"),
"end_timestamp" : 1480570804.26226,
"properties.sleep_efficiency" : 0.8772404,
"properties.resting_heart_rate" : 67.67578,
"properties.short_term_resting_heart_rate" : 61.36963,
"properties.activity_index" : 50.51958,
"properties.average_respiration_rate" : 16.25667,
"properties.total_sleep_score" : 64,
"date" : "2016-12-01",
"session_range_start" : 1480545636.55059,
"start_timestamp" : 1480545636.55059,
"session_range_end" : 1480570804.26226,
"updated" : 1480570805.25201,
"__v" : 0
}
「プロパティ」APPENDは必要ではありませんが、いいだろう。
あなたはデータがどのように見えるべきかの例を提供することはできますか? – Kie
元の投稿を編集しました。 – martwetzels
このJSON-Objectの書式を常に同じにすると、オブジェクトをループさせたくない場合は、JSONに変換して文字列を操作して文字列を操作できます。しかし、それがより良いパフォーマンスを発揮するかどうかはわかりません。 – Kie