熊猫将两列合并为Json

时间:2019-03-02 08:55:12

标签: pandas

我有一个如下所示的熊猫数据框

this.$nextTick(() => {
      var self = this;
    self.$forceUpdate();
    });

我正在寻找输出类似

的json
    Col1    Col2
0     a     apple
1     a     anar
2     b     ball
3     b     banana

2 个答案:

答案 0 :(得分:3)

您可以groupby() 'Col1'apply()列表到'Col2'并转换to_dict(),使用:

df.groupby('Col1')['Col2'].apply(list).to_dict()

输出

{'a': ['apple', 'anar'], 'b': ['ball', 'banana']}

答案 1 :(得分:2)

groupbyapply一起使用,最后通过Series.to_jsonSeries转换为json

j = df.groupby('Col1')['Col2'].apply(list).to_json()
print (j)
{"a":["apple","anar"],"b":["ball","banana"]}

如果要向文件中写入json

s = df.groupby('Col1')['Col2'].apply(list)
s.to_json('file.json')

检查差异:

j = df.groupby('Col1')['Col2'].apply(list).to_json()
d = df.groupby('Col1')['Col2'].apply(list).to_dict()

print (j)
{"a":["apple","anar"],"b":["ball","banana"]}
print (d)
{'a': ['apple', 'anar'], 'b': ['ball', 'banana']}

print (type(j))
<class 'str'>

print (type(d))
<class 'dict'>