【发布时间】:2019-09-18 10:38:23
【问题描述】:
我是 python 新手,pandas 有一个 csv 文件
.----.---------.-------.-------------------.-------------------.-------------------.-------------------.
| id | country | state | cold_stress_score | cold_stress_level | heat_stress_score | heat_stress_level |
:----+---------+-------+-------------------+-------------------+-------------------+-------------------:
| 1 | USA | NJ | 0.003 | low | 0.673 | moderate |
:----+---------+-------+-------------------+-------------------+-------------------+-------------------:
| 2 | USA | NJ | 0.001 | high | 0.2 | high |
:----+---------+-------+-------------------+-------------------+-------------------+-------------------:
| 3 | USA | NJ | 0.004 | moderate | 0.3 | low |
:----+---------+-------+-------------------+-------------------+-------------------+-------------------:
| 4 | USA | NY | 0.005 | moderate | 0.4 | moderate |
:----+---------+-------+-------------------+-------------------+-------------------+-------------------:
| 5 | USA | NY | 0.006 | high | 0.5 | high |
:----+---------+-------+-------------------+-------------------+-------------------+-------------------:
| 6 | USA | NY | 0.009 | low | 0.6 | low |
'----'---------'-------'-------------------'-------------------'-------------------'-------------------'
我想把它转换成 json 的嵌套方式
预期的 json
{
"id":1,
"country": "USA",
"state": "NJ",
"cold_stress":{
"cold_stress_score" : 0.003,
"cold_stress_level": "low",
},
"heat_stress":{
"heat_stress_score" : 0.0673,
"heat_stress_level": "moderate",
}
}
我试过这个解决方案 Convert Pandas Dataframe to nested JSON
j = (df.groupby(['id','country','state'], as_index=False)
.apply(lambda x: x[['cold_stress_score','cold_stress_level']].to_dict('r'))
.reset_index()
.rename(columns={0:'cold_stress'})
.to_json(orient='records'))
我想给 json 添加热应力 以上代码返回
"id":1,
"country": "USA",
"state": "NJ",
"cold_stress":{
"cold_stress_score" : 0.003,
"cold_stress_level": "low",
}
}
我怎样才能添加 heat_stress 我的 csv 太大了,我正在寻找填充在上面的动态值,比如冷应力
【问题讨论】:
标签: python json python-3.x pandas pandas-groupby