我认为,以产生重复列名的方式组织数据只会在以后给您带来麻烦。更好的方法是恕我直言创造每一个列
pivots,
interval_id和
p_value。将数据加载到熊猫中后,这将使查询数据变得非常容易。
另外,您的JSON中有一些错误。我通过它来查找错误。
jq帮助这里
import shjq = sh.jq.bake('-M') # disable colorizingjson_data = "from above"rule = """[{pivots: .intervals[].pivots, interval_id: .intervals[].series[].interval_id, p_value: .intervals[].series[].p_value}]"""out = jq(rule, _in=json_data).stdoutres = pd.Dataframe(json.loads(out))这将产生类似于以下内容的输出
interval_id p_value pivots32 2 2.867501e-06 Jane Smith33 2 1.000000e+00 Jane Smith34 2 1.116279e-08 Jane Smith35 2 2.867501e-06 Jane Smith36 0 1.000000e+00 Bob Smith37 0 1.116279e-08 Bob Smith38 0 2.867501e-06 Bob Smith39 0 1.000000e+00 Bob Smith40 0 1.116279e-08 Bob Smith41 0 2.867501e-06 Bob Smith42 1 1.000000e+00 Bob Smith43 1 1.116279e-08 Bob Smith
改编自此评论
当然,您始终可以调用
res.drop_duplicates()以删除重复的行。这给
In [175]: res.drop_duplicates()Out[175]: interval_id p_value pivots0 0 1.000000e+00 Jane Smith1 0 1.116279e-08 Jane Smith2 0 2.867501e-06 Jane Smith6 1 1.000000e+00 Jane Smith7 1 1.116279e-08 Jane Smith8 1 2.867501e-06 Jane Smith12 2 1.000000e+00 Jane Smith13 2 1.116279e-08 Jane Smith14 2 2.867501e-06 Jane Smith36 0 1.000000e+00 Bob Smith37 0 1.116279e-08 Bob Smith38 0 2.867501e-06 Bob Smith42 1 1.000000e+00 Bob Smith43 1 1.116279e-08 Bob Smith44 1 2.867501e-06 Bob Smith48 2 1.000000e+00 Bob Smith49 2 1.116279e-08 Bob Smith50 2 2.867501e-06 Bob Smith[18 rows x 3 columns]



