【发布时间】:2021-05-24 02:36:19
【问题描述】:
抱歉,帖子太长了!我有点 Python 文盲,所以请多多包涵:
我正在开展一个项目,该项目使用提取的 Fitbit 静息心率数据来比较一系列年份之间的心率值。 fitbit 数据导出为 .json 文件,我正在尝试将其转换为 .csv 以进行进一步分析。 我从 github 中提取了一个脚本,将 .json 文件转换为 .csv 格式的文件,但是在输入静息心率数据时我遇到了一些麻烦。
来自 .json 的示例行:
[{
"dateTime" : "09/30/16 00:00:00",
"value" : {
"date" : "09/30/16",
"value" : 76.83736383927637,
"error" : 2.737363838373737
}
将嵌套框架转换为列的 GitHub 代码部分:
# reading json into dataframes
resting_hr_df = get_json_to_df(file_list=resting_hr_file_list).reset_index()
# Heart rate contains a sub json that are explicitly converted into column
resting_hr_df['date'] = resting_hr_df['value'].transform(lambda x: make_new_df_value(x, 'date'))
resting_hr_df['value'] = resting_hr_df['value'].transform(lambda x: make_new_df_value(x, 'value'))
resting_hr_df['error'] = resting_hr_df['value'].transform(lambda x: make_new_df_value(x, 'error'))
resting_hr_df = resting_hr_df.drop(['value', 'index'], axis=1)
有两个名为“值”的变量,我认为这是导致问题的原因。
当使用 pandas 中的转换函数为嵌套数据框键分配变量名称时,第二个“值”值在 .csv 文件中存储为 0。 我应该如何存储这些值?
【问题讨论】: